我想知道是否有可能在索引时根据条款列表减轻部分文件的负担?
假设我有一个包含以下文件的文件: - 名称, - 描述, - 标题
我想减少在“名称”字段中出现“xyz”的任何内容。因此,当我搜索xyz时,所有在“name”字段中都有“xyz”的文档的得分将低于其他在“description”字段中带有“news”的文档。
答案 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"
}
}
}
}
}
'