PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ricerca full-text in Postgres o CouchDB?

Se ho capito bene il tuo problema, probabilmente tutto ciò di cui hai bisogno è già integrato nel CouchDB.

  1. Per ottenere una serie di documenti con nomi che iniziano con ad es. "Prosciutto". Puoi utilizzare una richiesta con un intervallo di stringhe:startkey="Ham"&endkey="Ham\ufff0"
  2. Se hai bisogno di una ricerca più completa, puoi creare una vista contenente nomi di altri luoghi come chiavi. Quindi puoi di nuovo interrogare gli intervalli usando la tecnica sopra.

Ecco una funzione di visualizzazione per farlo:

function(doc) {
    for (var name in doc.places) {
        emit(name, doc._id);
    }
}

Vedi anche il post del blog di CouchOne sul completamento automatico di CouchDB e la discussione sulla mailing list sul completamento automatico di CouchDB.