elasticsearch - 不对称衰减函数

标签 elasticsearch

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

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

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

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

最佳答案

我不确定是否有内置的方法可以精确地执行您想要的操作。但是,根据此文档: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年的文档。
enter image description here
如果需要更多控制,则应使用脚本,如下所述:
https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html

(图片来自 flex doc本身)

关于elasticsearch - 不对称衰减函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44656661/

相关文章:

elasticsearch - 无法为ElasticSearch安装Couchbase插件

elasticsearch - 在Logstash中使用grok解析具有数组的多行JSON

python - 利用Elasticsearch dsl python分析api

python - 如何创建嵌套字典,以便通过Python为Elasticsearch创建映射?

elasticsearch - 通过避免重复来计数Elasticsearch中的记录

elasticsearch - Elasticsearch 中的非条件

elasticsearch - ES 可从 curl 访问但不能从 Marvel/Sense 访问

elasticsearch - 使用elasticquent lib创建Elasticsearch映射时出错

ruby-on-rails - Searchkick分页,限制和偏移问题,滑轨

elasticsearch - 如何获取在Kibana中创建的索引列表?