2017-06-20 63 views
1

我有一个包含一些文档的elasticsearch索引,其中每个文档可能有一个名为“creationDate”的字段,其中包含一个日期。非对称衰减函数

现在我用日期查询索引,我想根据creationDate对文档进行评分,因此我设置了高斯衰减函数。

但据我所知,衰减功能都是对称的:即如果我从2005年开始有一份2007年的文档,并且搜索2006年,那么这两份文档将获得相同的分数。 但是我希望能够使用不同于衰减值的值,而不是那些更大的衰减值。

有没有内置的方法来实现这一目标?

回答

0

我不确定是否有内置的方式来完成您想要的功能。但是,根据此文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/decay-functions.html如果您可以将origin设置为在2006年至2007年中期之前的某个时间点,并将offset设置为小于2007- origin的某个值,则可以达到相同的效果。例如:如果您在2006年3月保留origin,并且3个月保留offset,则2006年1月至2006年6月的文档将保持不变,并且2007年的文档将比2005年的文档排名更高。 enter image description here 如果您想要更多的控制,你应该使用脚本,如下所述:

(从弹性 doc本身拍摄的图像) https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html