我想知道是否可以根据术语列表在索引时降低某些文档的权重?
假设我有一个包含以下文件的文档:-名称,-描述,-标题
我想减轻提交的“名称”中包含“xyz”的任何内容。因此,当我搜索 xyz 时,所有在“名称”字段中具有“xyz”的文档的得分都低于在“描述”字段中具有“新闻”的其他文档。
我想知道是否可以根据术语列表在索引时降低某些文档的权重?
假设我有一个包含以下文件的文档:-名称,-描述,-标题
我想减轻提交的“名称”中包含“xyz”的任何内容。因此,当我搜索 xyz 时,所有在“名称”字段中具有“xyz”的文档的得分都低于在“描述”字段中具有“新闻”的其他文档。
您可以使用提升查询来“降级”匹配特定查询子句的结果:
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"
}
}
}
}
}
'