我正在研究当前情况,如果有特定的文本搜索,则需要增加少量文档。 场景是,我有一组文档,我必须根据特定的关键字进行术语查询,但这里的问题是。让我们说我们搜索一个关键字测试,它将获取100条记录,但要求说很少有文档应该始终作为最佳结果,无论是否有权重和其他标准。我们如何才能实现这一目标是Elasticsearch,任何建议和想法都是最受欢迎的。
答案 0 :(得分:1)
您可以控制与脚本的相关性。看一眼: https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html
这是使用Groovy的一个例子:
price = doc['price'].value
margin = doc['margin'].value
if (price < threshold) {
return price * margin / target
}
return price * (1 - discount) * margin / target
因此,在伪代码中,它将类似于:
if (word == 'test') {
return score * n
}
return score