1

在 ElasticSearch 中,有没有办法通过接近给定日期(或数字)对搜索结果进行排名?

4

2 回答 2

0

您可以使用基于脚本的排序来计算接近度。但是,如果您有大量结果,则可能需要切换到本机脚本才能获得良好的性能。

于 2012-11-26T19:24:43.643 回答
0

试试这个例子:

"DECAY_FUNCTION": {
    "FIELD_NAME": {
          "origin": "2013-09-17",
          "scale": "10d",
          "offset": "5d",
          "decay" : 0.5
    }
}

DECAY_FUNCTION 可以是“linear”、“exp”和“gauss”。如果您的字段是日期字段,您可以将比例和偏移设置为天、周等。

参考:http ://www.elastic.co/guide/en/elasticsearch/reference/1.5/query-dsl-function-score-query.html

于 2015-04-27T05:00:49.430 回答