Какое лучшее приложение для поиска Django? [закрытый]

Я создаю проект Django, который нуждается в функциональности поиска, и пока нет django.contrib.search, Я должен выбрать приложение для поиска. Итак, что лучше? Под "лучшим" я имею в виду...

  • простота установки / настройки
  • имеет Django-или, по крайней мере, Python-дружественный API
  • может выполнять достаточно сложные поисковые запросы

вот некоторые приложения, о которых я слышал, пожалуйста, предложите другие, если вы знаете любой:

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

15 ответов


проверить Поиск Сена - новая модель на основе слоя абстракции поиска, который в настоящее время поддерживает приходит Xapian, Solr и Дзынь!. Похоже, он хорошо поддерживается и документирован.


Джастин, я бы попробовал добавлен во-первых: Джейкоб Каплан-Мосс (ведущий разработчик Django) работает над этим.

потенциальные опасности:

  • Домашняя страница предупреждает, что API может быть не совсем стабильным

преимущества:

  • " долгосрочная цель состоит в том, чтобы это стало django.contrib.search."

Я ищу то же самое, что и многие другие люди. Будем надеяться, что Джанго.ВНО.поиск будет добавлен в ближайшее время.

тем временем, это то, что я найдено:

для меня, большинство выглядят довольно сложным и, честно говоря, немного пугает осуществлять. Мне было бы интересно узнать, что вы думаете о них.


Я бы рекомендовал Sphinx для полнотекстового поиска и агрегации, а django-sphinx достаточно хорош для использования в производстве. Мы обнаружили, что Sphinx-наименее ресурсоемкий и быстрый способ индексирования и поиска наших документов, а django-sphinx-хорошая обертка поверх клиента sphinx.

группа по агрегации особенно хороша, если, например, вы хотите отобразить, сколько документов с определенным тегом или определенным автором (или обоими) соответствует поиску. В памяти обновления атрибутов также были удобны, особенно для немедленного удаления удаленных статей.


кодовая страница google для добавлен указывает, что он больше не находится в активной разработке, и предлагает сена или solango.


Спасибо Гарт. Я видел, что djangosearch хочет стать официальным поиском Django, но я не решался использовать его, потому что не мог найти никакой документации! К счастью, есть README в subversion что я не видел раньше, и это делает API выглядеть очень круто:

# 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")

Мне нужен очень быстро решение, которое не было суетой для внутреннего приложения.

Я нашел статью добавление поиска в Django в оснастке, и это сработало великолепно для меня!

очевидно, что ему не хватает скорости, масштабируемости и особенностей реальных проектов, таких как Haystack, но этот проще настроить, и мне действительно не нужно ничего, кроме ключевого слова и поиска.


вы можете рассмотреть вопрос о том, чтобы позволить Yahoo делать всю тяжелую работу со своей собственной поисковой службой (BOSS). Вот отличный пост в блоге, который проведет вас через процесс: http://www.peterkrantz.com/2008/yahoo-search-in-django/


похоже, все здесь пропустили django-xappy

после быстрой оценки всех существующих аддонов поиска для Django я нашел этот как самый гибкий и простой в использовании. Это грубо по краям в нескольких местах, но это все-таки лучший способ использовать силу приходит Xapian поисковая система внутри проектов Django.


вы можете посмотреть на Поиск Django Solr (Он же "Соланго"), который поставляется с хорошей документацией, чтобы вы начали...


Если у вас есть большой объем данных для индексирования или вы ожидаете высокий трафик, я бы предложил использовать некоторую внешнюю поисковую систему, например Solr. Таким образом, вы будете держать shared-ничего подход и возможность масштабирования компонентов сайта независимо друг от друга.


Я думаю, что я собираюсь дать кричать, чтобы Djapian.

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

Это все еще молодой программный проект,но я думаю, что сообщество django должно бросить свой вес за этот.


Спасибо Джо,

мы решили пойти с Tsearch2 и пользовательским адаптером postgres. Tsearch2 не нуждается в дополнительном процессе для запуска, что было удобно, так как мы находимся на хостинге WebFaction с ограниченной памятью... Это еще не полностью сделано, но кажется хорошим решением...


нашел Djoosh который полагается на внешнюю поисковую систему pure-python Дзынь! чтобы хорошо работать с моим мозгом "Python".


Если вы готовы использовать стороннюю поисковую систему, я могу порекомендовать Yahoo BOSS и django-bosssearch.

Yahoo BOSS-платная услуга, но она экономит настройку и обслуживание другого программного обеспечения поиска на вашем сервере.