在ElasticSearch中,有没有办法按照与给定日期(或数字)的距离来对搜索结果进行排名?
答案 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