Om jag förstår ditt problem rätt är förmodligen allt du behöver redan inbyggt i CouchDB.
- För att få en rad dokument med namn som börjar med t.ex. "Skinka". Du kan använda en begäran med ett strängintervall:
startkey="Ham"&endkey="Ham\ufff0"
- Om du behöver en mer omfattande sökning kan du skapa en vy som innehåller namn på andra platser som nycklar. Så du kan återigen fråga intervall med tekniken ovan.
Här är en vyfunktion för att göra detta:
function(doc) {
for (var name in doc.places) {
emit(name, doc._id);
}
}
Se även CouchOnes blogginlägg om CouchDB typahead och autokomplettera sökning och denna diskussion på e-postlistan om CouchDB autocomplete.