ElasticSearch快速开始(十五)DSL查询篇

详细文档请移步http://gitbook.immiker.com/elasticsearch

DSL查询

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。

此示例执行amatch_all并返回文档10到19:

GET /bank/_search

{

"query": { "match_all": {} },

"from": 10,

"size": 10

}

from(从0开始)参数规定了从启动该文件的索引和size参数指定了多少文件,返回从参数开始的。在实现搜索结果的分页时,此功能非常有用。请注意,如果from未指定,则默认为0。

此示例执行amatch_all并按帐户余额降序对结果进行排序,并返回前10个(默认大小)文档。

GET /bank/_search

{

"query": { "match_all": {} },

"sort": { "balance": { "order": "desc" } }

}

猜你喜欢

转载自blog.csdn.net/QQ243223991/article/details/85237282