我正在通过过滤并使用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"
答案 0 :(得分:0)
字词与字词查询之间的差异:
就您所关注的部分而言
还是因为术语查询不分析搜索词?
是的,这是因为搜索词不分析搜索到的词。它只与确切的搜索词匹配。