2013-08-05 86 views
2

我ElasticSearch查詢與排序不排序:ElasticSearch不會排序

{ 
    "query": { 
    "match_all": {} 
    }, 
    "sort": [ 
    { 
     "id": { 
     "order": "desc" 
     } 
    } 
    ] 
} 

添加「排序」並沒有不同之處在於每一個結果現在有一個附加屬性

sort: [0] 
任何影響

它看起來像「排序」屬性是0,因此結果的順序不會改變。

「id」是我索引中文檔的實際屬性。將其更改爲「idFOOBAR」會拋出「[找不到[idFOOBAR]的映射以進行排序]」,因此它似乎識別該屬性。還嘗試了其他屬性,如「userId」等,結果相同。

我錯過了什麼嗎?

回答

2

將屬性映射從index="no"修改爲index="not_analyzed"修復了它。

+0

我遇到同樣的問題。你能解釋一下你是如何改變屬性映射的嗎?這是'ElasticSearch'節點的屬性嗎? – Joe

+0

你已經有了一個映射嗎? http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html – Max

+1

沒關係,我明白了。我創建了索引:POST {「mappings」:{「」:{「properties」:{「」:{「type」:「」,「index」:「not_analyzed」}}}} 。不管怎麼說,還是要謝謝你! – Joe