2009-11-10 8 views
1

Note: Cette question appliquée à l'origine Xapian, mais en raison de problèmes multiplateformes et une mauvaise compréhension des Xapian I (notre équipe) a choisi Solr à la place.Est-ce que quelqu'un a des exemples d'intégration de Haystack/Solr avec Django?

Je cherche des extraits, des trucs, des astuces, des liens et tout ce qu'il faut savoir (les pièges). Ma pile technologique comprend:

  • MySQL 5.1 (Pas vraiment pertinent)
  • configurations Red Hat et Windows avec le déploiement final Linux
  • développement fait principalement sur des machines Windows sur mon équipe
  • Non Prise en charge PHP ou Java dans nos configurations, ergo no Solr ou Django-Sphinx Je suis allée avec Java après tout!

Merci à tous pour votre aide et votre compréhension!

+2

Malheureusement, j'ai un exemple d'échec d'intégration de Haystack avec Django. Cependant, j'ai fait le travail en installant Djapian, qui fournit un wrapper Django à Xapian. Je peux vous donner les détails d'installation si vous décidez de l'utiliser. – shanyu

Répondre

4

Quelques notes et ressources. Mon conseil est principalement lié à Haystack en général puisque je n'ai pas d'expérience avec Xapian en tant que backend.

  1. Installation Xapian (des Haystack docs) - noter que Haystack ne soutien Xapian lui-même: http://haystacksearch.org/docs/installing_search_engines.html#xapian
  2. Il peut être utile d'utiliser Whoosh au cours du développement ou pour tester certaines choses , mais gardez à l'esprit qu'il ne supporte pas toutes les fonctionnalités de Xapian. Haystack fait un bon travail de ne pas grâce (un avertissement dans votre console) si vous essayez d'utiliser Whoosh avec une fonction qu'il ne supporte pas, la commutation entre donc eux est indolore: http://haystacksearch.org/docs/installing_search_engines.html#whoosh
  3. Un extrait de mon propre code de commutation entre Whoosh et Solr facilement:

    # Haystack search settings 
    HAYSTACK_SITECONF = 'project.search_sites' 
    HAYSTACK_INCLUDE_SPELLING = True 
    # Haystack backend settings 
    HAYSTACK_SEARCH_ENGINE = 'solr' # Switch this to 'whoosh' to use that backend instead 
    if DEBUG: 
        HAYSTACK_SOLR_URL = 'solr.development.url' 
    else: 
        HAYSTACK_SOLR_URL = 'solr.production.url' 
    HAYSTACK_WHOOSH_PATH = os.path.join(PROJECT_ROOT, 'search_index', 'whoosh') 
    
  4. Pour autant que je suis au courant de votre choix de base de données ne fait pas de différence tant que D jango le supporte puisque Haystack utilise l'ORM.
  5. Si vous rencontrez des problèmes, développeur de Haystack (Daniel Lindsley) est incroyablement utile et rapide à répondre. Vous pouvez obtenir de l'aide de lui et d'autres dans le django-haystack Google group ou le canal IRC#haystack (qui est, si vous ne trouvez pas de réponse dans le official docs).
+0

Bonne réponse, et j'apprécie vraiment que vous preniez le temps de répondre, mais j'essaie de savoir en particulier ce qui est nécessaire pour faire fonctionner Xapian avec Haystack et Django. Par exemple: Compte tenu d'un environnement complètement nouveau sur ma machine locale, quelles dépendances dois-je installer, comment intégrer ces dépendances, et quels sont les exemples spécifiques de code utilisé pour travailler avec ces dépendances - dans ce cas Xapian. Encore une fois, excellente réponse. Si j'atteins cette solution par moi-même, je suis sûr d'ajouter un commentaire ici avec la solution, et de marquer votre réponse comme acceptée. Merci encore! – mkelley33

+0

Eh bien, nous avons ajouté Solr à notre pile technologique. Merci beaucoup à vous! – mkelley33