【问题标题】:Asymmetric Decay Function非对称衰减函数
【发布时间】:2017-06-21 12:40:17
【问题描述】:

我有一个包含一些文档的弹性搜索索引,其中每个文档可能有一个名为“creationDate”的字段,其中包含一个日期。

现在我正在查询带有日期的索引,并且我想根据 creationDate 对文档进行评分,因此我设置了一个高斯衰减函数。

但据我了解,衰减函数都是对称的:即,如果我有一份 2005 年的文档,一份 2007 年的文档并搜索 2006 年的文档,那么这两个文档将获得相同的分数。 但是,我希望能够对小于搜索项的值使用不同的衰减,而不是对更大的值。

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

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    我不确定是否有一种内置方法可以完全按照您的意愿行事。但是,根据此文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/decay-functions.html 如果您可以将origin 设置为 2006 年至 2007 年中途之前的某个点,并将offset 设置为小于 2007-origin 的某个值,您将能够达到同样的效果。例如:如果您将origin 保留在 2006 年 3 月,将 offset 保留 3 个月,则 2006 年 1 月至 2006 年 6 月的文档排名相同,2007 年的文档排名高于 2005 年的文档。 如果您想要更多控制,您应该使用脚本,如下所述: https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html

    (图片取自弹性doc 本身)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 2017-05-10
      • 1970-01-01
      相关资源
      最近更新 更多