Se entendi bem o seu problema, provavelmente tudo o que você precisa já está embutido no CouchDB.
- Para obter uma série de documentos com nomes começando com, por exemplo, "Presunto". Você pode usar uma solicitação com um intervalo de strings:
startkey="Ham"&endkey="Ham\ufff0"
- Se você precisar de uma pesquisa mais abrangente, poderá criar uma visualização contendo nomes de outros lugares como chaves. Assim, você pode consultar intervalos novamente usando a técnica acima.
Aqui está uma função de visualização para fazer isso:
function(doc) {
for (var name in doc.places) {
emit(name, doc._id);
}
}
Consulte também a postagem no blog do CouchOne sobre o preenchimento automático e a digitação antecipada do CouchDB e esta discussão na lista de discussão sobre o preenchimento automático do CouchDB.