2017-05-20 50 views
1

我試圖按照與數組相同的順序返回一個數組中的項目頁面。例如,有10個項目。用戶已保存4個項目,在(4,1,7,2)指定的順序按照ES中指定的順序返回項目

body: { 
    query: { 
    bool: { 
     must: [ 
     { 
      ids: { 
      values: ['4', '1', '7', '2'] 
      } 
     } 
     ] 
    } 
    } 
} 

在搜索下面將返回4項,但它是一個隨機的順序。任何方式告訴ES保持秩序作爲數組?

回答

0

萬一別人運行到這個問題:

所以我想寫一個動態腳本在ES (see here)對項目進行排序,但沒有運氣。我最終意識到,由於安全漏洞,我使用的託管ES僅在專用羣集上提供動態腳本。

0

這看起來不必要的複雜。我會使用代替下列:

GET /your-index/your-type/_mget 
{ 
    "ids" : [ "4", "1", "7", "2" ] 
} 

引述Definitive Guide

響應主體還含有作爲該請求中指定一個包含每個文檔的響應,以相同的順序一個文檔陣列。

相關問題