Frage

Ich möchte implementieren (kostenlos wie im Bier) Volltext -Suche nach einer kleinen Anwendung auf Heroku (minimale Anzahl von Benutzern, begrenzter Datensatz). Ich kämpfe jedoch darum, ein bestes Muster dafür zu finden. Eine Option besteht darin, die 10 -MB -Grenze von Xeround zu verwenden, während es dauert (wir können dies in naher Zukunft übertreffen). Die zweite besteht darin, meine eigene Volltextsuche irgendwie zu rollen auf MongoDB oder Couchdb.

Die Dokumente in dieser Bewerbung sind archivierte E -Mails, die ich aus einer Mailingliste durchsuchen möchte. Es gibt ungefähr 10K solche E -Mails, einfacher Text, ungefähr 700 Bytes pro.

Ich würde Fuzzy -Suchfunktionen bevorzugen, also den Vorstoß für Whoosh.

Unter meinen Anforderungen (ich hätte früher erwähnen sollen, ist es, dass es so ist frei!)

Ich habe keine Muster für die Verwendung von Whoosh mit MongoDB in einer Python -Flask -Anwendung gefunden.

Kann jemand weitere Informationen darüber geben, wie Sie die Volltextensuche in einer kleinen Heroku -Python -Anwendung behandeln können?

War es hilfreich?

Lösung

Also habe ich es nicht versucht, aber http://tenderlove.github.com/texticle/ Es scheint zu implizieren, dass Sie native PGSQL FullText -Suche verwenden können, wenn Sie in die Speicherlimits einfügen können. Das Problem mit Whoosh ist, dass Sie Probleme mit dem Speicherplatz und seiner Beharrlichkeit innerhalb der Heroku -Regeln treffen werden.

Die andere Sache ist, mit den Add -Ons zu arbeiten, wie sie über die Entwicklungsdokumente vorgeschlagen wurden:http://devcenter.heroku.com/articles/full-text-search

Was Muster betrifft, müssen Sie im Grunde die FullText -Suche durchführen und Daten/IDs von Datensätzen zurückerhalten und dann Ihren Datenspeicher (Mongo) für den vollständigen Datensatz basierend auf den vollständigen Ergebnissen abfragen. Es ist ein manueller Prozess, aber nichts, was zu seltsam ist. Wenn die Suche keine vollständigen Datensätze benötigt, können Sie normalerweise mit den vollständigen Daten mit den vollständigen Daten davon verstärken. Dies erhöht jedoch die Größe Ihrer vollständigen Indexierung.

Andere Tipps

Pysolr Löst Ihr Problem.

Haben Sie überlegt, Apache Solr zu verwenden? Ich denke, es ist die beste Lösung für eine Free-Text-Suchmaschine, sie ist kostenlos und Open Source.

Um Solr von Python zu verwenden, empfehle ich Ihnen die Mysolr Bibliothek. Ist ziemlich schneller und einfacher zu bedienen als pysolr (Sie können einige Statistiken sehen hier)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top