我有一个商店的索引,其类型为Items,即/store/items
。
除其他属性外,项还具有Title
(分析了的文本),Description
(分析了文本)和Tags
( not_analyzed 文本)。
我希望能够显示带有计数的标签方面,因此如果
例如,“黄色”标签的方面的计数为12,则当
用户将该标签添加到过滤器中,她只会看到12个项目。
我在Elasticsearch上使用带有Aggs的过滤查询,如下所示
1.1.1在单个节点上:
GET _search {
"query": {
"filtered": {
"query": {
"multi_match": {
"query": "Large Widgets",
"fields": [
"title^3",
"description"
]
}
},
"filter": {
"terms": {
"tags": [
"Colorful"
],
"execution": "and"
}
}
}
},
"aggs": {
"available_tags": {
"terms": {
"field": "tags"
}
},
"size": 20
}
}
我有两个问题:
我想得到10以上。
与聚合随附的doc_count不匹配,因为
例如,聚合可能会显示标记的doc_count为12
“黄色”,但如果我在过滤条件中添加“黄色”,则其显示为
"tags": [ "Colorful", "Yellow" ]
我得到了17次点击,而不是预期的12次。通常,这不会在第一个级别发生,而只会在后续钻取中发生。
难道我做错了什么?某处有错误吗?
这是Elasticsearch邮件列表中的一个交叉post,没有引起足够的重视
最佳答案
关于search - 多面搜索和汇总无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254153/