我使用elasticsearch構建了一個自動完成搜索,因此我需要查詢3個索引posts
,comments
,authors
。我有以下查詢:Elasticsearch - 對多索引查詢進行排序
{
"query":{
"query_string":{
"query":"something"
}
}
}
電話:
curl -X GET 'http://localhost:9200/posts,comments,authors/_search?pretty' -d '{
"query": {
"query_string": {
"query": "something"
}
}
}'
我需要通過特定的索引字段對結果進行排序,例如:
帖子指數有一個字段名爲comments_count
評論votes_count
和作者posts_count
。當比較帖子時,則應按comments_count
排序,當評論時votes_count
,當時作者爲posts_count
。
可以這樣做嗎?我不想將索引合併爲一個索引,因爲它們索引完全不同的文檔。
「如果我排序所有索引中不存在的字段,文檔將不會返回」。這是可控的。參見http://www.elasticsearch.org/guide/reference/api/search/sort/。在你的情況下,你應該使用'{「missing」:「_last」}' –