2014-05-04 80 views
1

我想简单地匹配该字段的值,而不关心分数(它总是会返回一个匹配)。我不希望elasticsearch为我创造一个可能导致更糟糕的表现的分数......或者我错了,我不应该在意吗?弹性搜索中查询匹配没有得分

像这样简单的查询:

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

我期待一个结果都没有分(我不想使用过滤)。

+0

如果你想要一个字段值的精确匹配,你可能会考虑一个词条查询。关于分数看看这里:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-constant-score-query.html – salyh

回答

1

您可以使用自定义的默认相似度替代所有匹配的常数分数。请参阅how to set the Similarity module上的ElasticSearch文档

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