介绍查询语言

source:https://www.elastic.co/guide/en/elasticsearch/reference/6.4/getting-started-query-lang.html

es提供Json格式的查询语句。我们在query DSL中提起过。这个查询语言非常可靠,虽然看上去难懂难学,但是我们可以通过一些简单的例子来快速学习。

回到我们上一次的查询:

curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} }
}
'

分析一下这个查询,query部分告诉我们query的定义,match_all部分是query的组成,意思是返回特定索引的所有文档。

除了query参数,我们也可以通过别的参数来影响我们的查询结果,下面的例子是传入size参数,之前我们已经传入过sort参数:

curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} },
"size": 1
}
'

注意size本身默认是10

下面的历史是返回所有文档中10-19条的数据

curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} },
"from": 10,
"size": 10
}
'

from这个参数指定返回的首坐标,size这个参数是指定返回多少文档.这个组合在我们使用分页搜索的时候非常有用,

注意from不指定的话默认是0

下面的例子是对balance进行降序排列,返回排名前十(默认10)的数据:

curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} },
"sort": { "balance": { "order": "desc" } }
}
'

 

posted @ 2019-11-25 11:46  Aemnprsu_wx  阅读(145)  评论(0编辑  收藏  举报