2017-03-06 57 views
0

返回排序字段我需要的那種配置,以響應的一部分,所以讓我們假設我有這個疑問彈性排序 - 響應

{ sort: [ {"name":"asc"},{"age:"descr"}]} 

我需要有這樣的作爲的一部分該響應將我的構面/ UI狀態與該排序同步。我看到有一個「排序」響應字段,但它基本上列出了爲排序選擇的值,但不包括哪個字段和哪種排序類型。

閱讀文檔我不知道它應該是這樣https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_sort_values

無法找到這事在網上,很多如何例子,也堆排序,但沒有關於如何體現在迴應中的排序。

如果它的事項,我目前使用Elasticsearch 2.4

+0

關於我們正在處理一個多面搜索,我當然試圖解析搜索的「狀態」服務器,而不是保留在客戶端上。 ESP。當你處理比賽條件時,例如在短時間內發送多個請求(切換排序),只有最新的信息反映在用戶界面中,您不確定響應返回的順序 - 因此您的用戶界面可能與實際響應不匹配。除此之外,我並沒有要求「概念指導」,所以你的回答只是開始一個不同的討論:) –

回答

0

這實際上是不可能的開箱即用。

我用我的中間件解決了這個問題。因此,當一個客戶希望在ES搜索,它發生這樣

client -> middleware -> ES 

要在響應排序,中間件做這樣的事情

result = es.search(query) 
result['sort'] = query['sort'] if query.key?('sort') 
return result 

所以我從請求複製排序字段進入響應,這實際上是非常有用的客戶端,當處理聚合/分面搜索