ElasticSearch查询、评分与索引控制全解析
1. ElasticSearch查询与分面计算
在使用ElasticSearch进行查询时,分面计算是一个重要的功能。有时候,查询结果会受到过滤条件的限制,但分面计算可能不会遵循这些过滤条件。
- 过滤作为查询的一部分 :当过滤条件成为查询的一部分时,分面计算会基于查询返回的结果集进行。例如,我们要获取书籍索引中属于“book”类别的所有书籍,并对价格字段进行范围分面计算,查看价格低于30和高于30的文档数量。操作步骤如下:
1. 编写查询语句,存储在 filtered_query.json 文件中:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"category": "book"
}
}
}
},
"facets": {
"price": {
"range": {
"field": "price",
"ranges": [
{ "to": 30 },
{ "from": 30 }
]
}
}
}
}
2. 执行查询,结果如下:
超级会员免费看
订阅专栏 解锁全文
1358

被折叠的 条评论
为什么被折叠?



