• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ElasticSearch 常用api

武飞扬头像
多比熊
帮助1

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(活得快乐的最重要因素是人生有事干、有人可去爱,以及生命中有所冀望。——约瑟夫·艾迪生)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ学新通
ElasticSearch 数据迁移方案

ElasticSearch版本说明

{
“name”: “node-3”,
“cluster_name”: “test-elasticsearch”,
“cluster_uuid”: “FM6vTooBTS6cSM9scMEU7g”,
“version”: {
“number”: “2.4.1”,
“build_hash”: “c67dc32e24162035d18d6fe1e952c4cbcbe79d16”,
“build_timestamp”: “2016-09-27T18:57:55Z”,
“build_snapshot”: false,
“lucene_version”: “5.5.2”
},
“tagline”: “You Know, for Search”
}

ElasticSearch 常用api

创建es索引结构

curl --location --request POST 'http://172.21.0.31:9900/business' \
--header 'Content-Type: application/json' \
--data-raw '{
    "settings": {
        "number_of_shards": 7,
        "number_of_replicas": 1,
        "analysis": {
            "analyzer": {
                "default": {
                    "tokenizer": "1_25_tokenizer_grams",
                    "filter": [
                        "unique",
                        "limit_filter"
                    ]
                }
            },
            "tokenizer": {
                "1_25_tokenizer_grams": {
                    "type": "ngram",
                    "min_gram": 1,
                    "max_gram": 25
                }
            },
            "filter": {
                "limit_filter": {
                    "type": "limit",
                    "max_token_count": 500
                }
            }
        }
    },
    "mappings": {
        "business": {
            "properties": {
                "account": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "number": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "flow": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "createTime": {
                    "type": "string",
                    "index": "not_analyzed"
                }
            }
        }
    }
}'
学新通

获取索引结构

curl --location --request GET 'http://172.21.0.31:9900/business_bak'

删除索引结构

curl --location --request DELETE 'http://172.21.0.31:9900/business/222' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "zhangShang",
    "age": 20,
    "sex": 1
}'

创建索引文档

当不指定id时,es会自动生成id

curl --location --request POST 'http://172.21.0.31:9900/business/business' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "zhangShang",
    "age": 20,
    "sex": 1
}'

更新索引文档

后面跟着id

curl --location --request POST 'http://172.21.0.31:9900/business/business/AX9jJKe7bgbIdsKXBSG4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "te222st",
    "age": 20,
    "sex": 1
}'

删除索引文档

curl --location --request DELETE 'http://172.21.0.31:9900/business/business/AX9jJKe7bgbIdsKXBSG4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "te222st",
    "age": 20,
    "sex": 1
}'

分析检索文本

curl --location --request POST 'http://172.21.0.31:9900/business/_analyze' \
--header 'Content-Type: application/json' \
--data-raw '{
    "text": "zhangzw客户123"
}'

获取索引结构信息

curl --location --request GET 'http://172.21.0.31:9900/business'

获取索引结构信息mappings

curl --location --request GET 'http://172.21.0.31:9900/business/_mapping?pretty'

获取索引结构信息settings

curl --location --request GET 'http://172.21.0.31:9900/business/_settings' \
--data-raw ''

检索索引文档

curl --location --request GET 'http://172.21.0.31:9900/business/_search?explain' \
--header 'Content-Type: application/json' \
--data-raw '{
    "query": {
        "bool": {
            "should": [
                {
                    "term": {
                        "def45310-019d-11ec-8372-1f0ef8ecd3d5": "zw3"
                    }
                }
            ],
            "filter": [
                {
                    "term": {
                        "account": "N00000002411"
                    }
                }
            ],
            "minimum_should_match": 1
        }
    }
}'
学新通

验证索引文档

curl --location --request GET 'http://172.21.0.31:9900/business/_validate/query?explain' \
--header 'Content-Type: application/json' \
--data-raw '{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "def45310-019d-11ec-8372-1f0ef8ecd3d5": "王五"
          }
        }
      ],
      "filter": [
        {
          "term": {
            "account": "N00000002411"
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}'
学新通

关闭索引

curl --location --request POST 'http://172.21.0.31:9900/business/_close'

开启索引

curl --location --request POST 'http://172.21.0.31:9900/business/_open'

索引迁移

curl --location --request POST 'http://172.21.0.31:9900/_reindex' \
--header 'Content-Type: application/json' \
--data-raw '{
  "source": {
    "index": "business"
  },
  "dest": {
    "index": "business_bak"
  }
}'

更新索引结构settings

只能对未设置过的字段进行更新,已存在的字段不能更新,只能重建索引

curl --location --request PUT 'http://172.21.0.31:9900/business/_settings' \
--header 'Content-Type: application/json' \
--data-raw '{
    "analysis.analyzer.default.tokenizer": "1_25_tokenizer_grams",
    "analysis.analyzer.default.filter": [
        "unique",
        "limit_filter"
    ],
    "analysis.tokenizer.1_25_tokenizer_grams.type": "ngram",
    "analysis.tokenizer.1_25_tokenizer_grams.min_gram": 1,
    "analysis.tokenizer.1_25_tokenizer_grams.max_gram": 25,
    "analysis.filter.limit_filter.type": "limit",
    "analysis.filter.limit_filter.max_token_count": 500
}'

更新索引结构mappings

和更新索引结构settings用法相同

查看elasticsearch版本信息

curl --location --request GET 'http://172.21.0.31:9900'

查看elasticsearch所有数据量

curl --location --request GET 'http://172.21.0.31:9900/_count'

查看elasticsearch某索引数据量

curl --location --request GET 'http://172.21.0.31:9900/business/_count'

查看elasticsearch统计信息

curl --location --request GET 'http://172.21.0.31:9900/_cat/indices?v'

异步索引迁移

curl --location --request POST 'http://172.21.0.31:9900/_reindex?wait_for_completion=false' \
--header 'Content-Type: application/json' \
--data-raw '{
  "source": {
    "index": "customer"
  },
  "dest": {
    "index": "customer_bak"
  }
}'

查看异步任务

curl --location --request GET 'http://172.21.0.31:9900/_tasks'

取消异步任务

curl --location --request POST 'http://172.21.0.31:9900/_tasks/OfyS4qUGTW2OuA2BL5fYgQ:36133906/_cancel'

查看指定索引的统计信息

curl --location --request GET 'http://172.21.0.31:9900/_cat/indices?v&index=customer_bak'

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggegig
系列文章
更多 icon
同类精品
更多 icon
继续加载