我正在通过过滤和使用term
查询来应用分数来检索文档。查询应匹配具有指定颜色的所有动物 - 匹配的颜色越多,文档的分数越高。奇怪的是,term
查询terms
导致不同的评分。
{
"query": {
"bool": {
"should": [
{"terms": {"color": ["brown","darkbrown"] } },
]
}
}
}
应该和使用一样
{"term": {"color": {"value": "brown"} } },
{"term": {"color": {"value": "darkbrown"} } }
查询编号 无论 1 个或 2 个术语是否匹配,1 给我的文档得分完全相同。如果匹配更多颜色,后者当然会返回更高的分数。
如协调因子所述,如果匹配更多术语,则返回的分数应该更高。因此这两个查询应该得到相同的分数 - 或者是因为term
查询不分析搜索词?
我的字段被索引为文本。字符串被索引为字符串的“数组”,例如"brown","darkbrown"