У кого-нибудь есть примеры интеграции Haystack / Solr с Django? - PullRequest
1 голос
/ 10 ноября 2009

Примечание: Этот вопрос первоначально относился к Xapian , но из-за проблем с кроссплатформенностью и плохого понимания Xapian I (наша команда) выбрал Solr .

Я ищу фрагменты, трюки, подсказки, ссылки и все, на что нужно обратить внимание (уловки). Мой технологический стек включает в себя:

  • MySQL 5.1 (не совсем уместно)
  • Конфигурации Red Hat и Windows с окончательным развертыванием в Linux
  • Разработка в основном выполняется на компьютерах под управлением моей команды
  • Никакой поддержки PHP или Java в наших конфигурациях, следовательно, нет Solr или Django-Sphinx В конце концов, с Java!

Спасибо всем за помощь и понимание!

1 Ответ

4 голосов
/ 11 ноября 2009

Несколько заметок и ресурсов. Мой совет в основном касается стога сена в целом, так как у меня нет опыта работы с Xapian в качестве бэкэнда.

  1. Установка Xapian (из стога сена документы) - обратите внимание, что Хейстек не поддерживаем Xapian самостоятельно: http://haystacksearch.org/docs/installing_search_engines.html#xapian
  2. Может быть полезно использовать Whoosh во время разработки или для тестирования определенные вещи, но имейте в виду что он не поддерживает все особенности Xapian делает. Хейстек делает хорошая работа изящной неудачи ( предупреждение в консоли) если вы попробуете использовать Whoosh с возможностью не поддерживает, поэтому переключение между им безболезненно http://haystacksearch.org/docs/installing_search_engines.html#whoosh
  3. Фрагмент из моего собственного кода переключение между Whoosh и Solr легко:

    # 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. Насколько я знаю, ваш выбор база данных не имеет значения до тех пор, пока Django поддерживает его, поскольку Haystack использует ORM.
  5. Если у вас возникнут проблемы, Разработчик Хейстек (Даниэль Линдсли) невероятно полезно и быстро ответить. Вы можете получить помощь от него и других в группа Google django-haystack или IRC-канал #haystack (то есть если вы не нашли ответ в официальные документы ).
...