在弹性搜索中没有得分的查询匹配

时间:2014-05-04 12:25:43

标签: lucene elasticsearch

我想简单地匹配该字段的值,我不关心得分(它将返回总是一个匹配)。我不希望弹性搜索为我创造一个可能导致表现更差的分数......或者我错了,我不应该关心?

像这样的简单查询:

GET /testing/test/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": {
              "query": "My name here",
              "operator": "and"
            }
          }
        }
      ]
    }
  }
}

我希望一个结果没有得分(我不想使用过滤)。

1 个答案:

答案 0 :(得分:1)

你可以使用自定义的相似性来覆盖默认相似度,只为所有匹配产生一个常量分数。请参阅how to set the Similarity module

上的ElasticSearch文档

但是,对于仅涉及术语或短语的简单完全匹配的查询,性能影响不太可能很大。分析可能有助于确定这是否真的值得追求。