7
votes

Moteur de recherche de texte complet pour Python

Je recherche un moteur de recherche de texte complet Python.

J'ai regardé Pylucense, mais je pense que l'utilisation d'une bibliothèque basée sur Java dans un projet Python n'est pas bonne. Si je comprends bien, Sphinx n'a pas d'API Python.

Des idées?


0 commentaires

6 Réponses :


8
votes

Avez-vous regardé whoosh ? C'est python pur.


1 commentaires

Je pensais juste que je voudrais mentionner ceci..J'ai récemment essayé WHOOSH pendant 1,5 million de lignes de données d'entrée à l'indexation de..quièmement, whoosh était très facile à installer et à exécuter assez vite pour un index plus petit pour moi et était lent pour mon index. Taille: 1000 résultats de la recherche en 15 secondes..Il peut être bon pour une taille d'index plus petite



4
votes

"SPHINX n'a ​​pas d'API Python"

n'est pas vrai. Téléchargez la version et regardez Sphinx / API / SPHINXAPI.PY

Je l'utilise moi-même et je suis assez heureux avec ça. La documentation concerne uniquement PHP mais l'API Python utilise les mêmes noms pour toutes les fonctions.


0 commentaires

2
votes

Je vais recommander whoosh. Vous pouvez facilement l'installer, c'est-à-dire easy_install. Whoosh Il a une API soignée trop


0 commentaires

2
votes

Apache Solr est basé sur Lucene et offre une interface de repos / http à ses fonctions de recherche, donc Vous n'avez pas de verrouillage de plate-forme ou de problèmes de langue. IMO C'est de loin le meilleur serveur de recherche avec plus de fonctionnalités que vous ne pouvez jamais souhaiter et que la communauté active la supporte.


1 commentaires

Je suis un gars python et je maintiens même un wrapper SQLite Python (APSW). Pour certains trucs de travail, j'utilise aussi solr. La configuration est un pita mais les résultats de la recherche sont fantastiques. Vous pouvez les récupérer comme Json qui rend la vie facile. Vous devez créer le contenu via XML qui est gênant. Le FTS3 de SQLite est bien aussi, mais nulle part aussi flexible. Par exemple, stemming et métaphone sont triviaux avec Solr mais très dur avec FTS3.



1
votes

Avez-vous essayé FTS Caractéristiques? Vous avez utilisé la balise SQLite, mais je ne vois aucune mention de SQLite dans votre question.


1 commentaires

Non je n'ai pas essayé. SQLALCHEMY n'a pas pris en charge la recherche SQLite, et je ne veux pas utiliser la PLAIT SQL-SYNTAX.



2
votes

en particulier pour la recherche de texte complète, Solr est un excellent choix. Vous aurez du mal à trouver un choix plus largement utilisé et plus ouvert. Nous utilisons Solr / Lucene chez ma société avec une application Web PHP étant le client et l'API HTTP / REST pour vous permettre d'interroger l'index. Il a autant de fonctionnalités qu'un client PHP natif aurait et une grande plus grande flexibilité de la boîte. Vous pouvez effectuer n'importe quelle requête / filtre que vous choisissez tout en utilisant l'API de repos. Mais, au-dessus de tout cela, vous obtenez un système de recherche extrêmement performant et largement utilisé avec une réplication intégrée en cours d'amélioration constante. Recommandez fortement Solr 1.4.x comme point de départ.


0 commentaires