2015-11-04 56 views
0

我了解如何根据变量的绝对值来增强elasticsearch中的查询。例如elasticsearch:基于变量的值提升查询

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

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

+2

查看function_score查询 –

+0

谢谢Vineet!从那里我找到了field_value_factor。这似乎可以解决我的问题 –

+0

与multi_match查询,你可以尝试不同的领域与不同的升压过滤器 –

回答

1

这里最好的解决方案是function_score query 它可以被看作是定制分数的瑞士军刀。 你可以使用field_value_factor函数来实现你正在寻找的东西。