Home » Default » ElasticSearch 查询 语法

1.查询集群的基本运行状况-health

curl -XGET 'localhost:9200/_cat/health?v&pretty'

2.集群的节点信息

curl -XGET 'localhost:9200/_cat/nodes?v&pretty'

3.集群 中的索引信息

curl -XGET 'localhost:9200/_cat/indices?v&pretty'

4.根据id查询所需数据

 curl -XGET  'http://localhost:9200/index/_type/id?'

*"""
语法:ip +/索引/type/id?
"""*
5.查询所有数据(浏览器默认返回10条数据)

浏览器查询

http://localhost:9200/index/type/_search?q=*

curl 查询

$ curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{
"query": { "match_all": {} }
}'

6.分页查询 (from, size)
from 偏移,默认为0
size 返回的结果数,默认为10

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{
"query": { "match_all": {} },
"from":1,
"size":2
}'

7.多词条查询(term,terms)
term query会去倒排索引中寻找确切的term,它并不知道分词器的存在,这种查询适合keyword、numeric、date等明确值的

term:查询某个字段里含有某个关键词的文档

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '

    {
      "query": {
         "term": {
            "title":   "blog"
        }
      }
    }'

9.指定查询结果的字段 (_source)

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{
        "query":{
            "match_all":{}
        },
      "_source":["product","account"],
"from": 1,"size": 1   
}'

10.指定查询范围(range)
范围查询(range)即返回指定范围的文档,多用于数值型和日期型中。

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{
    "query":{
        "range":{
            "publish_time":{
                "lte":"2019/05/24"
            }
        }
    },
    "from": 1,
    "size": 1   
}'

gte :大于或等于
gt :大于
lte :小于或等于
lt :小于
11.排序(sort)

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{
    "query": { 
        "match_all": {} 
    },
    "sort":[
        {"publish_time":"desc"},
        {"id":"asc"}
    ]
}'

12.prefix前缀匹配查询

curl -XGET 'localhost:9200/index/type/_search?pretty' -d '
{"query": 
  {"prefix":{
    "ad_type":{
        "value":"C"  # 查询ad_type以C开头的内容
      }
    }
  }
}'

作者:HAO延WEI
链接:https://www.jianshu.com/p/f751ce9cd41b
来源:简书
著作权归作者所有。

标签: elasticsearch 查询 语法

添加新评论

V