PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Volltextsuche in Postgres oder CouchDB?

Wenn ich Ihr Problem richtig verstehe, ist wahrscheinlich alles, was Sie brauchen, bereits in CouchDB eingebaut.

  1. Um eine Reihe von Dokumenten zu erhalten, deren Namen mit z. "Schinken". Sie können eine Anfrage mit einem Zeichenfolgenbereich verwenden:startkey="Ham"&endkey="Ham\ufff0"
  2. Wenn Sie eine umfassendere Suche benötigen, können Sie eine Ansicht erstellen, die Namen anderer Orte als Schlüssel enthält. Sie können also wieder Bereiche mit der obigen Technik abfragen.

Hier ist eine Ansichtsfunktion, um dies zu machen:

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

Siehe auch den CouchOne-Blogpost über CouchDB-Schnellvervollständigung und Autocomplete-Suche und diese Diskussion auf der Mailingliste über CouchDB-Autocomplete.