2017-09-02 2 views
0

J'ai suivi le Cloudant tutorial d'IBM sur la façon d'exécuter une requête pour récupérer une sélection de documents et de les trier en fonction de la valeur d'un champ. Les instructions commencent environ 2/3 en bas de la page à "Exécuter une requête avec deux champs".Erreur de requête Cloudant: index de recherche manquant pour essayer de trier

Je reçois une erreur pour laquelle je ne trouve pas de solution.

Unknown Error: mango_idx :: {no_usable_index,missing_sort_index}

La requête est:

{ 
"selector": { 
    "lastname": "Brown", 
    "location": "New York City, NY" 
}, 
"fields": [ 
    "firstname", 
    "lastname", 
    "location" 
], 
"sort": [ 
    { 
    "lastname": "asc" 
    }, 
    { 
    "firstname": "asc" 
    } 
] 
} 

J'ai un index de requête ajouté aux documents de conception, comme indiqué:

{ 
"index": { 
    "fields": [ 
    "lastname", 
    "location", 
    "age" 
    ] 
}, 
"name": "query-index", 
"type": "json" 
} 

Les documents eux-mêmes sont des variantes de:

{ 
"firstname": "John", 
"lastname": "Brown", 
"age": 21, 
"location": "New York City, NY", 
"_id": "doc2" 
} 

Est-ce que je fais quelque chose de mal? Est-ce que quelque chose a changé dans la syntaxe Cloudant sur laquelle le tutoriel n'a pas été mis à jour?

Je connais "Unknown Error: mango_idx :: {no_usable_index,missing_sort_index}"} dont les réponses suggérées ne m'aident pas.

+0

double possible de [ "Erreur inconnue: mangue \ _IDX :: {pas \ _usable \ _index, manquant \ _sort \ _index}"}] (https://stackoverflow.com/ questions/40584988/inconnu-erreur-mango-idx-non-utilisable-index-missing-sort-index) –

+0

J'ai regardé les réponses suggérées là, qui ne m'aident pas, j'ai suivi votre (IBM) tutoriel à la lettre qui a abouti à ce problème. J'ai également signalé ce problème sur le référentiel github de la documentation: https://github.com/IBM-Bluemix-Docs/Cloudant/issues/2 – Joeri

+0

@Joeri le tutoriel sera corrigé. Vous devriez obtenir une réponse officielle ici bientôt. – ptitzler

Répondre

0

Il semble que ce soit un problème avec ce tutoriel. Il n'y a pas d'index pour supporter le tri par nom et prénom. Vous pouvez créer un autre index comme celui-ci:

{ 
    "index": { 
    "fields": [ 
     "lastname", 
     "firstname" 
    ] 
    }, 
    "type": "json" 
} 

Vous pouvez également trier uniquement par nom de famille (retirer le prénom). Cela sera pris en charge par l'index d'origine. Requête ressemblerait à ceci:

{ 
    "selector": { 
    "lastname": "Brown", 
    "location": "New York City, NY" 
    }, 
    "fields": [ 
    "firstname", 
    "lastname", 
    "location" 
    ], 
    "sort": [ 
    { 
     "lastname": "asc" 
    } 
    ] 
} 
+0

Merci beaucoup @markwatsonatx! Je vais mettre à jour mon problème de github sur le tutoriel avec votre solution. https://github.com/IBM-Bluemix-Docs/Cloudant/issues/2#issuecomment-327289797 – Joeri