Elasticsearch6.5中文文档-引入查询语言

Elasticsearch提供了一种JSON样式的可用于执行查询的特定领域语言。被称为DSL查询。这种查询语言非常全面,乍一看可能令人生畏,但实际学习查询的最佳方法是从一些基础示例开始。

回到上一个示例,我们执行了以下查询:

GET /bank/_search {   "query": { "match_all": {} } }

剖析以上内容,query部分告诉我们查询定义是什么,match_all部分是我们要运行的查询的类型。该match_all查询是搜索指定索引中的所有文档。

除了query参数外,我们还可以传递其他参数来影响搜索结果。在以上部分的示例中,我们传入的是sort,在这里我们传入size:

GET /bank/_search {   "query": { "match_all": {} },   "size": 1 }

请注意,如果size未指定,则默认为10。

此示例执行一次match_all并返回文档的10到19的数据:

GET /bank/_search {   "query": { "match_all": {} },   "from": 10,   "size": 10 }

from参数(从0开始)指定从哪个文档索引开始,size参数指定从from参数开始返回的文档数。实现分页搜索结果时,此功能很有用。请注意,如果未指定from,则默认为0。

本示例执行match_all并按balance降序对结果进行排序,并返回前10个(默认大小)文档。

GET /bank/_search {   "query": { "match_all": {} },   "sort": { "balance": { "order": "desc" } } }

您可能还会对下面的文章感兴趣: