我想知道是否可以根据术语列表在索引时间减少某些文档的重量?
可以说我有一个包含以下文件的文档:
- 名称,
-说明,
-标题
我想减轻在“名称”字段中具有“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/