ElasticSearch:-ve在索引时提升文档

时间:2013-03-14 01:28:45

标签: search elasticsearch

我想知道是否有可能在索引时根据条款列表减轻部分文件的负担?

假设我有一个包含以下文件的文件: - 名称, - 描述, - 标题

我想减少在“名称”字段中出现“xyz”的任何内容。因此,当我搜索xyz时,所有在“name”字段中都有“xyz”的文档的得分将低于其他在“description”字段中带有“news”的文档。

1 个答案:

答案 0 :(得分:3)

您可以使用boosting query“降级”与特定查询条款匹配的结果:

curl -XGET 'http://127.0.0.1:9200/_all/_search?pretty=1'  -d '
{
   "query" : {
      "boosting" : {
         "negative_boost" : 1,
         "negative" : {
            "match" : {
               "name" : "xyz"
            }
         },
         "positive" : {
            "match" : {
               "description" : "news"
            }
         }
      }
   }
}
'