Elasticsearch

Elasticsearch查询语句

Posted by dm on August 8, 2022

ES操作手册

说明:

1. 文档中data_index为实际情况索引 2. 所有操作均在kibana操作

1、ES查询突破1W条限制(分页10条/页时 1000页以后报错)

PUT _all/_settings
{         
	"index.max_result_window":200000
}

2、查询es内的所有索引信息

GET _cat/indices

查询ES内所有索引

3、查询索引字段信息

查询索引字段信息

4、无条件查询指定索引数据量

GET data_index/_count

无条件查询指定索引数据量

5、有条件查询指定索引数据量(实际情况可自由变通)

GET data_index/_count
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "archivingState": 1
          }
        },
        {
          "match_phrase": {
            "archivalCode": "Z017"
          }
        },
        {
          "range": {
            "pageNumber": {
              "gte": 1,
              "lte": 1000
            }
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "status": 1
          }
        }
      ]
    }
  }
}

有条件查询指定索引数据量

6、无条件查询指定索引数据

GET data_index/_search

无条件查询指定索引数据

7、有条件查询指定索引数据(条件同查询数量)

GET data_index/_search

有条件查询指定索引数据

8、删除指定索引所有数据(谨慎操作)

POST data_index/_delete_by_query
{
  "query": {
    "match_all": {}
	}
}

9、根据条件删除指定索引数据(谨慎操作)

POST data_index/_delete_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "archivingState": 1
          }
        },
        {
          "match_phrase": {
            "archivalCode": "Z017"
          }
        },
        {
          "range": {
            "pageNumber": {
              "gte": 1,
              "lte": 1000
            }
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "status": 1
          }
        }
      ]
    }
  }
}

10、删除索引(谨慎操作)

DELETE data_index

11、根据条件修改数据(条件和修改内容可根据需要自行增删)(谨慎操作)

POST data_index/_update_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "archivingState": 1
          }
        },
        {
          "match_phrase": {
            "archivalCode": "Z017"
          }
        },
        {
          "range": {
            "pageNumber": {
              "gte": 1,
              "lte": 1000
            }
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "status": 1
          }
        }
      ]
    }
  },
  "script": {
    "inline": "ctx._source['archivingState'] = 1;ctx._source['docketKey'] = ctx._source['archivalCode'].substring(0,ctx._source['archivalCode'].lastIndexOf('-'));ctx._source['archivalCode']=ctx._source['archivalCode'].replace('Z017','Z016')"
  }
}

根据条件修改数据(条件和修改内容可根据需要自行增删)

12、ES备份

第一步:查询原索引字段映射,复制查询结果mapping{...}

GET f219ec6de3ccb79360b4ecf13d6c9c95/_mapping

第二步:把复制的内容,复制到要新建的索引下,并执行:

PUT f219ec6de3ccb79360b4ecf13d6c9c95_new
{
 "mappings" : {......}     
}

第三步:把原索引数据复制到新索引上

POST _reindex
{
  "source": {
    "index": "f219ec6de3ccb79360b4ecf13d6c9c95"
  },
  "dest": {
    "index": "f219ec6de3ccb79360b4ecf13d6c9c95_new"
  }
}

第四步:查询原索引与新索引数量是否一致

GET f219ec6de3ccb79360b4ecf13d6c9c95_new/_count
GET f219ec6de3ccb79360b4ecf13d6c9c95/_count

13、避免请求超时

避免请求超时 GET _tasks/xxxxxx:信息由请求后出现