我通过过滤和使用布尔查询来应用分数来检索文档。例如:
{
"query": {
"bool": {
"should": [
{
"term": {
"color": "Yellow"
}
},
{
"term": {
"color": "Red"
}
},
{
"term": {
"color": "Blue"
}
}
],
"minimum_should_match": 1
}
}
}
如果数据只有“黄色”,它会给我“1.5”的分数,但如果数据只有“红色”,它会给我“1.4”的分数。我希望分数是一样的。每个数据只有 1 个匹配项,为什么分数不同?应该查询中有什么可以忽略术语的顺序吗?当我只有 1 场比赛时,“黄色”的比赛总是会获得高分......
更新:问题不是应该数组中的术语顺序,而是“包含该术语的文档数量”