Django botte de foin et whoosh
-
12-09-2019 - |
Question
Quelqu'un at-il une expérience en utilisant django-haystack
avec le back-end de whoosh
?
Je cherche à l'utiliser pour un outil de type en direct recherche classés. Est-ce que ça va être assez rapide / efficace dans un environnement de production afin d'éviter la mise en place soit solr
ou xapian
?
La solution
En tant que principe général, je mets Whoosh dans la même catégorie que SQLite: grand pour commencer, merveilleux pour un seul utilisateur ou vraiment des applications à petite échelle, mais ne convient pas pour le déploiement à grande échelle .
Whoosh est, dans mon expérience, d'un ordre de grandeur plus lent que Solr. Une recherche typique contre un indice Solr bigish J'ai dans la production prend environ un centième de seconde; la même recherche en utilisant Whoosh et les mêmes données prend environ un dixième de seconde.
Vous devez décider ce qui est pour vous « assez vite », mais je ne pense pas Whoosh est une bonne idée pour quoi que ce soit où vous vous attendez à haute performance.
Autres conseils
J'ai trouvé xapian très facile à installer sur mon Debian.
aptitude install python-xapian
et voilà tout.
Pour l'utiliser avec django il y a une très bonne application nommée djapian .
Je voudrais aller soit avec Solr ou Xapian (bien que ce n'est pas pris en charge tout à fait encore officiellement par botte de foin, voir ce fil ). Solr est facile à installer et à faire fonctionner dessus si vous suivez le tutoriel, mais j'ai eu un mal fou à obtenir installé dans un environnement de production - mais est surtout en raison de mon manque d'expérience avec les environnements de serveur Java. Votre kilométrage peut varier.
Je voudrais aussi mettre dans une autre prise pour djapian. Il est très bien documenté et est en cours de développement très actif.
Vous devez utiliser ElasticSearch au lieu de whoosh .... Il est plus rapide et a plus de fonctionnalités que solr également.