2013-08-05 3 views
2

requête Mon ElasticSearch avec sort ne trie pas:ElasticSearch ne sorte

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

Ajout du « genre » n'a pas d'effet, sauf que chaque résultat a maintenant un attribut supplémentaire

sort: [0] 

Il semble que l'attribut "sort" soit 0, donc l'ordre des résultats ne change pas.

"id" est un attribut réel des documents dans mon index. Le changer en "idFOOBAR" lance "[Aucune correspondance trouvée pour [idFOOBAR] afin de trier sur]", donc il semble reconnaître l'attribut. Aussi essayé d'autres attributs comme "userId" etc., même résultat.

Ai-je raté quelque chose?

Répondre

2

La modification du mappage d'attribut de index="no" à index="not_analyzed" l'a corrigé.

+0

J'ai le même problème. Pourriez-vous expliquer comment exactement vous avez changé le mappage des attributs? Est-ce une propriété du noeud 'ElasticSearch'? – Joe

+0

Avez-vous déjà une cartographie en place? http://www.elasticsearch.org/guide/fr/elasticsearch/reference/current/mapping.html – Max

+1

Peu importe, je l'ai. J'ai créé l'index avec: 'POST {" mappings ": {" ": {" properties ": {" ": {" type ":" "," index ":" not_analyzed "}}}}}' . Merci quand même! – Joe

Questions connexes