Question

Je suis en train de construire un projet Django qui a besoin de la fonctionnalité de recherche, et jusqu'à il y a un django.contrib.search, Je dois choisir une application de recherche.Alors, lequel est le meilleur?Par "meilleur", je veux dire...

  • facile à installer / configurer
  • a un Django - ou, au moins, Python-friendly API
  • pouvez effectuer raisonnablement des recherches complexes

Voici quelques applications que j'ai entendu, merci de nous proposer d'autres si vous en connaissez d':

J'aimerais aussi éviter d'utiliser un autre moteur de recherche (comme Google SiteSearch), parce que certaines des données que j'aimerais indice pour les membres du site et ne doit pas être public.

Était-ce utile?

La solution

Découvrez La Botte De Foin De Recherche - un nouveau modèle de recherche basé sur la couche d'abstraction qui prend actuellement en charge Xapian, Solr et Whoosh.On dirait qu'il est bien étayé et documenté.

Autres conseils

Justin, je vais l'essayer djangosearch d'abord:Jacob Kaplan-Moss (Django principal développeur) est de travailler sur elle.

Dangers potentiels:

  • La page d'accueil avertit l'API peut pas être tout à fait stable

Avantages potentiels:

  • “L'objectif à long terme est pour cela django.contrib.search.”

Je suis à la recherche de la même chose, comme le sont beaucoup d'autres personnes.Espérons que django.contrib.recherche seront bientôt ajoutés.

En attendant, c'est ce que j'ai trouvé:

Pour moi, la plupart ont l'air assez compliqué et, franchement, un peu difficile à mettre en œuvre.Je serais intéressé de savoir ce que vous pensez de ces.

Je le recommande Sphinx de recherche de texte intégral et de l'agrégation, et django-sphinx est assez bon pour une utilisation en production.Nous avons constaté que le Sphinx a été le moins de ressources à forte intensité et de la façon la plus rapide pour indexer et rechercher nos documents et que django-sphinx était une belle surcouche au-dessus du sphinx client.

Le groupe a par agrégation est particulièrement agréable, si par exemple vous souhaitez afficher le nombre de documents avec une certaine étiquette ou par un auteur (ou les deux) correspondant à une recherche.Dans la mémoire de l'attribut mises à jour ont été trop commode, en particulier pour la suppression des articles supprimés immédiatement.

La page google code pour djangosearch indique qu'il n'est plus en développement actif, et suggère botte de foin ou solango.

Merci Garth.J'avais vu que djangosearch voulait devenir la Django de recherche, mais j'ai hésité à l'utiliser parce que je ne pouvais pas trouver toute la documentation!Heureusement, il y a un Le fichier README dans subversion que je n'avais pas vu avant, et elle fait de l'API look très cool:

# set up the model
class Event(models.Model):
    title = models.CharField(max_length=255)
    date = models.DateField()
    is_outdoors = models.BooleanField()

    index = djangosearch.ModelIndex(text=['title'], 
                                    additional=['date', 'is_outdoors'])

# run a search
results = Event.index.search("django conference")

J'ai juste besoin d'un très rapide solution sans tracas pour une application.

J'ai trouvé l'article Ajout de la recherche de Django dans un composant logiciel enfichable, et qui a travaillé magnifique pour moi!

Évidemment, il manque de la vitesse, de l'évolutivité et les caractéristiques de la réalisation de projets concrets, comme la botte de Foin, mais celui-ci est plus facile à mettre en place, et je n'ai pas vraiment besoin d'autre chose que de mots clés ET de recherche.

Vous pourriez envisager de location Yahoo faire tout le travail dur avec leur Construire votre propre Service de Recherche (BOSS).Voici un blog qui vous guide à travers le processus:http://www.peterkrantz.com/2008/yahoo-search-in-django/

Il ressemble à tout le monde ici manqué django-xappy

Après une rapide évaluation de tous les programmes de recherche addons pour Django, j'ai trouvé celui-ci comme la plus souple et plus facile à utiliser.Il est rugueux sur les bords dans quelques endroits, mais c'est encore la meilleure façon d'utiliser la puissance de Xapian le moteur de recherche à l'intérieur de Django projets.

Vous voudrez peut-être consulter Django de recherche Solr (aka "Solango"), qui est livré avec une belle documentation pour vous aider à démarrer...

Si vous avez la grande quantité de données à indexer ou vous vous attendez à un trafic élevé, je vous suggère de l'aide de certains moteur de recherche externe, comme Solr.De cette façon, vous pourrez garder shared-nothing d'approche et d'être en mesure à l'échelle de votre site composants séparément.

Je pense que je vais avoir à donner une crier à Djapian.

Il est solide comme le roc...il suffit de tirer vers le bas d'une source de distribution et coup d'oeil à l'intérieur.Top notch code, pas très nombreux commentaires tho..

C'est encore un jeune projet de logiciel, mais je pense que le django communauté devrait jeter son poids derrière celui-ci.

Merci Joe,

Nous avons décidé d'aller avec Tsearch2 et personnalisé postgres adaptateur.Tsearch2 n'a pas besoin d'un supplément de processus à exécuter, ce qui est pratique car nous sommes sur un WebFaction hébergement avec peu de mémoire...Il n'est pas complètement fini, mais semble être une bonne solution...

J'ai trouvé Djoosh qui s'appuie sur le pur python moteur de recherche externe Whoosh pour bien travailler avec mon 'Python' cerveau.

Si vous êtes prêt à utiliser un 3ème moteur de recherche, je peux recommander Yahoo BOSS et django-bosssearch.

Yahoo BOSS est un service payant, mais il vous fait gagner de l'établissement et au maintien de recherche autre logiciel sur votre serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top