棕色和红色的文档比仅棕色或红色的文档得分高吗?
GET /_search
{
"query": {
"bool": {
"should": [
{ "term": { "text": "quick" }},
{ "term": { "text": "fox" }},
{
"bool": {
"should": [
{ "term": { "text": "brown" }},
{ "term": { "text": "red" }}
]
}
}
]
}
}
}
答案 0 :(得分:0)
在大多数情况下-是,如果没有其他差异,则得分会更高。原因是布尔查询评分是对每个其他子句的分数求和。
这意味着weight(text:brown)
将被添加到weight(text:red)
中,这通常会导致得分更高。
但是,不同之处在于,根据tf-idf的概念,对于任何匹配的文档,每个权重部分都可能不同。
以下是总体建议-如果您不确定如何获取查询分数,则应在json中使用"explain": true
。这将有助于理解和调试计分过程中发生的事情。
有关Explain API的更多信息-https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html