我正在尝试在ElasticSearch中创建一个功能分数(在其他过滤器之后)为最近购买产品的客户提供更高的分数。为此我有一个字段" lastPurchaseOn"。
查询还需要返回未购买任何产品的客户,因此我无法过滤出现在的lastPurchaseOn字段。
"functions": [
{
"exp": {
"lastPurchaseOn": {
"scale": "3d"
}
}
},
...
]
问题是,当字段" lastPurchaseOn"缺少,该函数返回得分1,当我真的希望它返回0时。
有没有办法让函数为缺失值返回0?
由于
答案 0 :(得分:0)
official documentation非常明确地说明了这一点:
如果文档中缺少数字字段,则该函数将返回1.
主要原因是exponential function没有办法用于返回0.您可以尝试使用linear
函数而不是exp
。