Je construis un projet Django qui nécessite une fonctionnalité de recherche, et jusqu'à ce qu'il y en ait un django.contrib.search
, je dois choisir une application de recherche. Alors, quel est le meilleur? Par «meilleur», je veux dire ...
- facile à installer / configurer
- a une API Django- ou au moins compatible avec Python
- peut effectuer des recherches raisonnablement complexes
Voici quelques applications dont j'ai entendu parler, veuillez en suggérer d'autres si vous en connaissez:
Je voudrais également éviter d'utiliser un moteur de recherche tiers (comme Google SiteSearch), car certaines des données que je souhaite indexer sont réservées aux membres du site et ne doivent pas être publiques.
python
django
search
search-engine
Justin Voss
la source
la source
Réponses:
Découvrez Haystack Search - une nouvelle couche d'abstraction de recherche basée sur un modèle qui prend actuellement en charge Xapian , Solr et Whoosh . On dirait qu'il est bien pris en charge et documenté.
la source
Justin, j'essaierais d' abord djangosearch : Jacob Kaplan-Moss (développeur principal de Django) y travaille.
Dangers potentiels:
Des bénéfices potentiels:
django.contrib.search
."la source
Je recherche la même chose, comme beaucoup d'autres personnes. Espérons que django.contrib.search sera bientôt ajouté.
En attendant, voici ce que j'ai trouvé:
Pour moi, la plupart semblent assez compliqués et, franchement, un peu intimidants à mettre en œuvre. J'aimerais savoir ce que vous en pensez.
la source
La page de codes google pour djangosearch indique qu'il n'est plus en développement actif et suggère haystack ou solango .
la source
Je recommanderais Sphinx pour la recherche et l'agrégation de texte intégral, et django-sphinx est assez bon pour une utilisation en production. Nous avons constaté que Sphinx était le moyen le moins gourmand en ressources et le plus rapide pour indexer et rechercher nos documents et que django-sphinx était un bon wrapper au-dessus du client sphinx.
Le regroupement par agrégation est particulièrement agréable, si par exemple vous souhaitez afficher le nombre de documents avec une certaine balise ou par un certain auteur (ou les deux) correspondant à une recherche. En mémoire, les mises à jour des attributs étaient également pratiques, en particulier pour supprimer immédiatement les articles supprimés.
la source
Merci Garth. J'avais vu que djangosearch voulait devenir la recherche officielle de Django, mais j'hésitais à l'utiliser car je ne trouvais aucune documentation! Heureusement, il y a un README en subversion que je n'avais jamais vu auparavant, et cela donne à l'API un aspect très cool:
la source
J'avais juste besoin d'une solution très rapide et simple pour une application interne.
J'ai trouvé l'article Ajouter une recherche à Django en un clin d'œil , et cela a fonctionné à merveille pour moi!
De toute évidence, il manque la vitesse, l'évolutivité et les fonctionnalités des vrais projets comme Haystack, mais celui-ci est plus facile à mettre en place, et je n'ai vraiment besoin de rien d'autre que de la recherche par mot-clé ET.
la source
Vous voudrez peut-être envisager de laisser Yahoo faire tout le travail avec leur Build your own Search Service (BOSS). Voici un excellent article de blog qui vous guide tout au long du processus: http://www.peterkrantz.com/2008/yahoo-search-in-django/
la source
Il semble que tout le monde ici ait manqué django-xappy
Après une évaluation rapide de tous les addons de recherche existants pour Django, j'ai trouvé celui-ci comme le plus flexible et le plus facile à utiliser. C'est difficile à certains endroits, mais c'est toujours le meilleur moyen d'utiliser la puissance du moteur de recherche Xapian dans les projets Django.
la source
Vous voudrez peut-être regarder la recherche Django Solr (alias "Solango") qui est accompagnée d'une belle documentation pour vous aider à démarrer ...
la source
Si vous avez une grande quantité de données à indexer ou si vous prévoyez un trafic élevé, je vous suggère d'utiliser un moteur de recherche externe, comme Solr . De cette façon, vous conserverez une approche sans partage et serez en mesure de faire évoluer les composants de votre site de manière indépendante.
la source
Je pense que je vais devoir crier à Djapian.
Il est solide comme le roc ... il suffit de supprimer une distribution source et de jeter un coup d'œil à l'intérieur. Code de premier ordre, peu de commentaires tho ..
C'est encore un jeune projet logiciel, mais je pense que la communauté django devrait jeter son poids derrière celui-ci.
la source
Merci Joe,
Nous avons décidé d'aller avec Tsearch2 et un adaptateur postgres personnalisé. Tsearch2 n'a pas besoin d'un processus supplémentaire pour s'exécuter, ce qui était pratique puisque nous sommes sur un hébergement WebFaction avec une mémoire limitée ... Ce n'est pas encore complètement terminé, mais semble être une bonne solution ...
la source
J'ai trouvé Djoosh qui s'appuie sur le moteur de recherche externe Whoosh pur-python pour bien fonctionner avec mon cerveau 'Python'.
la source
Si vous souhaitez utiliser un moteur de recherche tiers, je peux vous recommander Yahoo BOSS et django-bosssearch .
Yahoo BOSS est un service payant, mais il vous évite de configurer et de maintenir d'autres logiciels de recherche sur votre serveur.
la source