2016-04-30 136 views
2

我想聯合2彈性搜索查詢。因爲我的查詢是分開排序的,所以不可能使用和/或像這樣的方法來完成。
我有消息的文件,我想有一個包含結果:
- 未讀消息(讀= FALSE)按日期
排序 - 讀新聞(讀= TRUE)按日期
未讀消息畝排序處於第一和我想獲得20頁的新聞,所以我們可能有3頁未讀新聞,1頁閱讀+未讀新聞,然後5頁閱讀新聞。
如何創建此查詢?彈性搜索聯合查詢

回答

1

使用多個搜索API在單個搜索請求中運行您的各種查詢。

_msearch 

收到結果後,使用用戶定義的算法構建結果集。

+0

是可以幫我查詢?很難理解如何使用msearch –

1

如果您需要排序的所有的領域都是同一類型,那麼您可以使用多種排序標準:

POST index/article/_search 
{ 
    "size": 20, 
    "sort": [ 
    { 
     "read": { 
     "order": "asc" 
     } 
    }, 
    { 
     "date": { 
     "order": "desc" 
     } 
    } 
    ] 
} 
+0

這樣做,謝謝你的回覆,但我認爲你不明白我的意思。你只排序查詢!我想按不同的標準排序查詢,結果將是連續的。 –