ElasticSearch开始(5)–排序与相关性
排序
为了按照相关性来排序,需要将相关性表示为一个数值。在 Elasticsearch 中, 相关性得分 由一个浮点数进行表示,并在搜索结果中通过 _score 参数返回, 默认排序是 _score 降序。
使用filter参数:只希望获取匹配 user_id: 1 的文档,并没有试图确定这些文档的相关性。 实际上文档将按照随机顺序返回,并且每个文档都会评为零分。
按照字段的值排序
通过时间来对 tweets 进行排序是有意义的,最新的 tweets 排在最前:
GET /_search
{
"query" : {
"bool" : {
"filter" : { "term" : { "user_id" : 1 }}
}
},
"sort": { "date": { "order": "desc" }}
}
sort和aggs很类似,都是先执行query操作,再获得集合之后,在集合上进行排序操作,所以sort和query是并列的。