【发布时间】:2020-06-06 05:20:22
【问题描述】:
我正在通过过滤和使用term 查询来应用分数来检索文档。
查询应匹配具有指定颜色的所有动物 - 匹配的颜色越多,文档的得分越高。奇怪的是,term 和 terms 查询结果不同。
{
"query": {
"bool": {
"should": [
{"terms": {"color": ["brown","darkbrown"] } },
]
}
}
}
应该和使用一样
{"term": {"color": {"value": "brown"} } },
{"term": {"color": {"value": "darkbrown"} } }
查询编号无论 1 个或 2 个术语是否匹配,1 给我的文档得分完全相同。如果匹配更多颜色,后者当然会返回更高的分数。
如coordination factor 所述,如果匹配的词条更多,则返回的分数应该更高。因此这两个查询应该得到相同的分数 - 还是因为 term 查询不分析搜索词?
我的字段被索引为文本。字符串被索引为字符串的“数组”,例如"brown","darkbrown"
【问题讨论】:
标签: elasticsearch elasticsearch-query term-query