ElasticSearch:按日期接近程度排名

时间:2012-11-26 14:36:33

标签: elasticsearch ranking

在ElasticSearch中,有没有办法按照与给定日期(或数字)的距离来对搜索结果进行排名?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

试试这个例子:

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

DECAY_FUNCTION可以是"线性"," exp"和"高斯"。如果您的字段是日期字段,则可以将比例和偏移设置为天,周等。

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