search - ElasticSearch:-ve在索引时间增强文档

标签 search elasticsearch

我想知道是否可以根据术语列表在索引时间减少某些文档的重量?

可以说我有一个包含以下文件的文档:
- 名称,
-说明,
-标题

我想减轻在“名称”字段中具有“xyz”的任何内容的重量。因此,当我搜索xyz时,所有在“名称”字段中包含“xyz”的文档的得分都比在“说明”字段中带有“新闻”的其他文档得分低。

最佳答案

您可以使用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"
            }
         }
      }
   }
}
'

关于search - ElasticSearch:-ve在索引时间增强文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15399608/

相关文章:

python - 如何在字典中实现基本搜索

c# - 如何找到最接近任意(非成员)数字的数组元素?

iphone - Objective-C - 比 NSCaseInsensitiveSearch 更好的搜索?关键词? NSPredicate?

jquery - 数据表 Jquery 单个列过滤器/搜索

android - setSuggestionAdapter cursor - 需要更新它

ElasticSearch:嵌套桶聚合

javascript - Elasticsearch | "data"参数必须是字符串、TypedArray 或 DataView 类型之一

jdbc - 为 JDBC elasticsearch River 设置映射

python - Elasticsearch-py如果ES服务器关闭,连接尝试将如何处理?

elasticsearch - 如何使elasticsearch中的where子句声明?