1、获取所有文档
GET /my_index2/_doc/_search { "query": { "match_all":{ } } }
2、分页查询,从第二条开始,查两条
GET /my_index2/_doc/_search { "query": { "match_all": {} }, "from": 1, "size": 2 }
这种分页方式如果进行深度分页,比如到100页,每页十条数据,它会从每个分片都查询出100*10条数据,假设有五个分片,就是5000条数据,然后在内存中进行排序,然后返回拍过序之后的集合中的第1000-1010条数据
3、指定查询出来的数据返回的字段
GET /my_index2/_doc/_search { "query": { "match_all": {} }, "_source": ["name","tages"] }
返回的数据中返回name
和tages
字段。
4、tages
字段中包含直
GET /my_index2/_doc/_search { "query": { "match": { "tages": "直" } } }
返回的结果中元字段_score
有评分,说明使用query
会计算评分
5、tages
字段包含直
,并按照年龄升序排列
GET /my_index2/_doc/_search { "query": { "match": { "tages": "直" } }, "sort": [ { "age": { "order": "asc" } } ] }
6、年龄字段大于30
GET /my_index2/_doc/_search { "query": { "bool": { "filter": { "range": { "age": { "gte": 30 } } } } } }
返回的结果中元字段_score
字段等于0,没评分,说明使用filter
不会计算评分
7、tages
字段包含直
,并且年龄字段大于30
GET /my_index2/_doc/_search { "query": { "bool": { "must": [ { "match": { "tages": "直" } } ], "filter": { "range": { "age": { "gte": 30 } } } } } }
8、查询tages
字段包含直
的文档的数量
GET /my_index2/_doc/_count { "query": { "match": { "tages": "直" } } }
原文:https://www.cnblogs.com/Duko/p/14852815.html