/ / Ricerca di testo completo su Heroku, database o selezione dell'indicizzatore? - python, heroku, ricerca full-text, nosql, pallone

Ricerca full text su Heroku, database e / o selezione dell'indicizzatore? - python, heroku, ricerca full-text, nosql, pallone

Sto cercando di implementare (gratis come nella birra) ricerca a testo completo su una piccola applicazione suHeroku (numero minimo di utenti, set di dati limitato). Tuttavia, sto cercando di trovare il modello migliore per farlo, una possibilità è quella di usare il limite di 10mb di xeround, mentre dura (potremmo superarlo nel prossimo futuro), il secondo è quello di ottenere in qualche modo la mia ricerca di testo completo su MongoDB o CouchDB.

I documenti di questa applicazione sono e-mail archiviate che desidero rendere ricercabili da una mailing list, ci sono circa 10k tali e-mail, testo in chiaro, circa 700bytes per.

Preferirei le funzionalità di ricerca fuzzy, quindi la spinta per whoosh.

Tra i miei requisiti (avrei dovuto accennare prima, è perché lo sia gratuito!)

Non ho trovato alcun pattern per l'utilizzo di whoosh con MongoDB in un'applicazione python, flask.

Qualcuno può fornire maggiori informazioni su come gestire la ricerca full-text in una piccola applicazione di python e heroku?

risposte:

2 per risposta № 1

Quindi non ho provato, ma http://tenderlove.github.com/texticle/ sembra implicare che puoi usare pgsql nativoricerca di testo completo se è possibile rientrare nei limiti di spazio. Il problema con whoosh è che ti imbatterai in problemi con lo spazio su disco e la sua persistenza all'interno delle regole di heroku.

L'altra cosa da fare è lavorare con i componenti aggiuntivi come suggerito tramite i documenti di sviluppo: http://devcenter.heroku.com/articles/full-text-search

Per quanto riguarda i pattern, in pratica devi fare ilricerca di testo completo e recupero di dati / id di record e quindi interrogare l'archivio dati (mongo) per l'intero set di dati in base ai risultati del testo completo. È un processo manuale, ma niente che sia troppo strano. Se la ricerca non ha bisogno di record completi, in genere è possibile evitare di archiviare i dati importanti con le informazioni complete, ma che "aumenteranno la dimensione dell'indicizzazione del testo completo.


0 per risposta № 2

pysolr risolve il tuo problema


0 per risposta № 3

Hai preso in considerazione l'utilizzo di Apache SolR? Penso che sia la migliore soluzione per un motore di ricerca a testo libero, è gratuito e open source.

Per usare SolR da Python ti consiglio di MySolr biblioteca. È abbastanza più veloce e più facile da usare rispetto a pysolr (puoi vedere alcune statistiche Qui)