Pokud správně rozumím vašemu problému, pravděpodobně vše, co potřebujete, je již zabudováno v CouchDB.
- Chcete-li získat řadu dokumentů s názvy začínajícími např. "Šunka". Můžete použít požadavek s rozsahem řetězců:
startkey="Ham"&endkey="Ham\ufff0"
- Pokud potřebujete komplexnější vyhledávání, můžete vytvořit zobrazení obsahující jako klíče názvy dalších míst. Takže opět můžete dotazovat rozsahy pomocí výše uvedené techniky.
Zde je funkce zobrazení, která to provede:
function(doc) {
for (var name in doc.places) {
emit(name, doc._id);
}
}
Podívejte se také na blogový příspěvek CouchOne o vyhledávání typu CouchDB a automatickém doplňování a tuto diskuzi v seznamu adresátů o automatickém doplňování CouchDB.