介绍查询语言
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" } }
}
'