我有一个包含一些文档的弹性搜索索引,其中每个文档可能有一个名为" creationDate"其中包含一个日期。
现在我用日期查询索引,我想根据creationDate对Documents进行评分,所以我设置了高斯衰减函数。
然而据我所知,衰变函数都是对称的:即,如果我有一个来自2005年的文件,那么从2007年开始,搜索2006年这两个文件将得到相同的分数。 但是,我希望能够使用比搜索项更少的值而不是那些更大的值的不同衰减。
是否有内置的方法来实现这一目标?
答案 0 :(得分:0)
我不确定是否有内置方式可以完全按照您的意愿行事。但是,根据此文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/decay-functions.html如果您可以将origin
设置为2006年至2007年中期之前的某个点,并将offset
设置为低于2007的某个值 - { {1}},你将能够达到同样的效果。例如:如果您将origin
保留在2006年3月,将origin
保留为3个月,则2006年1月至2006年6月的文档将排名相同,2007年的文档排名将高于文档2005年。
如果您想要更多控制,您应该使用脚本,如下所述:
https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html
(从弹性doc本身拍摄的图像)