non*_*oat 7 elasticsearch elasticsearch-query term-query
我通过过滤和使用term查询来应用分数来检索文档。查询应匹配具有指定颜色的所有动物 - 匹配的颜色越多,文档的分数越高。奇怪的是,term查询terms结果却有不同的评分。
{
"query": {
"bool": {
"should": [
{"terms": {"color": ["brown","darkbrown"] } },
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
应该和使用一样
{"term": {"color": {"value": "brown"} } },
{"term": {"color": {"value": "darkbrown"} } }
Run Code Online (Sandbox Code Playgroud)
查询编号 无论 1 个或 2 个术语匹配,1 都会为文档提供完全相同的分数。如果匹配更多颜色,后者当然会返回更高的分数。
正如协调因子所述,如果匹配的术语越多,返回的分数应该越高。因此,这两个查询应该产生相同的分数 - 或者是因为term查询不分析搜索词?
我的字段被索引为文本。字符串被索引为字符串的“数组”,例如"brown","darkbrown"
术语与术语查询之间的区别:
就你这部分而言
或者是因为术语查询不分析搜索词?
是的,这是因为搜索词没有分析搜索到的词。它仅与确切的搜索词匹配。
| 归档时间: |
|
| 查看次数: |
6871 次 |
| 最近记录: |