【ElasticSearch】DSL查询文档
warning:
这篇文章距离上次修改已过182天,其中的内容可能已经有所变动。
在ElasticSearch中,DSL(Domain Specific Language)查询被用于构建复杂的查询。以下是一个使用ElasticSearch DSL查询文档的例子:
GET /my_index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "Elasticsearch" }},
{ "match": { "content": "Elasticsearch" }}
],
"filter": [
{ "term": { "status": "published" }},
{ "range": { "publish_date": { "gte": "2019-01-01" }}}
]
}
},
"from": 0,
"size": 10,
"sort": [
{ "publish_date": "desc" }
]
}
这个查询使用了布尔查询(bool query),它结合了must
(必须匹配)和filter
(过滤,不影响相关性排名)子句。它同时搜索title
和content
字段中包含"Elasticsearch"的文档,并且这些文档的status
字段值为"published",且publish_date
在或之后的2019年1月1日的文档。结果按publish_date
降序排序,分页设置为从第0个文档开始,每页显示10个文档。
评论已关闭