Si je comprends bien votre problème, tout ce dont vous avez besoin est probablement déjà intégré dans CouchDB.
- Pour obtenir une série de documents dont les noms commencent par ex. "Jambon". Vous pouvez utiliser une requête avec une plage de chaînes :
startkey="Ham"&endkey="Ham\ufff0"
- Si vous avez besoin d'une recherche plus complète, vous pouvez créer une vue contenant des noms d'autres lieux sous forme de clés. Vous pouvez donc à nouveau interroger des plages en utilisant la technique ci-dessus.
Voici une fonction d'affichage pour faire ceci :
function(doc) {
for (var name in doc.places) {
emit(name, doc._id);
}
}
Consultez également l'article de blog CouchOne sur la saisie automatique et la saisie semi-automatique CouchDB et cette discussion sur la liste de diffusion à propos de la saisie semi-automatique CouchDB.