elasticsearch:基于变量值提升查询

时间:2015-11-04 11:50:06

标签: elasticsearch

我理解如何根据变量的绝对值来提升elasticsearch中的查询。例如

{
    "query": {
        "bool": [
            { "match": {"field1": {"query": 10, "boost": 2}} }
        ]
    }
}

我需要做的是确保field1影响得分,但我不知道任何绝对值。例如,与field1 = 10的文档相比,document1 = 20将获得更高的分数。但是,这与sort不同。因为排序是绝对的。我只是想让这个变量对整体得分做出贡献,但这不是控制整体得分的唯一领域。

1 个答案:

答案 0 :(得分:1)

这里最好的解决方案是function_score query 它可以被视为用于定制分数的瑞士军刀。 您可以在其中使用field_value_factor函数来实现您的目标。