Что такое лучшее приложение для поиска Django? [закрытый]
Я создаю проект Django, который нуждается в функциональности поиска, и пока нет django.contrib.search, Я должен выбрать приложение для поиска. Итак, что же лучше? Под "лучшим" я имею в виду...
- простота установки / настройки
- имеет Django-или, по крайней мере, дружественный к Python API
- может выполнять достаточно сложные поисковые запросы
вот некоторые приложения, о которых я слышал, пожалуйста, предложите другие, если вы знаете любой:
Я также хотел бы избежать использования сторонней поисковой системы (например, Google SiteSearch), потому что некоторые данные, которые я хотел бы индексировать, предназначены только для членов сайта и не должны быть общедоступными.
15 ответов:
проверить Поиск Стога Сена - новый уровень абстракции поиска на основе модели, который в настоящее время поддерживает Xapian,Solr и Дзынь!. Похоже, он хорошо поддерживается и документирован.
Джастин, я бы попробовал добавлен во-первых: Джейкоб Каплан-Мосс (ведущий разработчик Django) работает над этим.
потенциальные опасности:
- Домашняя страница предупреждает, что API может быть не совсем стабильным
преимущества:
- "долгосрочная цель состоит в том, чтобы это стало
django.contrib.search."
Я ищу то же самое, что и многие другие люди. Будем надеяться, что Джанго.ВНО.поиск будет добавлен в ближайшее время.
в то же время, это то, что я найдено:
- http://code.google.com/p/djangosearch/
- http://code.google.com/p/django-sphinx/
- http://code.google.com/p/djapian/
- http://code.google.com/p/django-search-lucene/
- http://www.sai.msu.su / ~megera / postgres/gist / tsearch / V2/
для меня большинство выглядит довольно сложным и, честно говоря, немного пугающим осуществлять. Мне было бы интересно узнать, что вы думаете о них.
Я бы рекомендовал Sphinx для полнотекстового поиска и агрегации, а django-sphinx достаточно хорош для использования в производстве. Мы обнаружили, что Sphinx был наименее ресурсоемким и быстрым способом индексирования и поиска наших документов, и что django-sphinx был хорошей оберткой поверх клиента sphinx.
группа по агрегации особенно хороша, если, например, вы хотите отобразить, сколько документов с определенным тегом или определенным автором (или обоими) соответствует поиску. В памяти обновления атрибутов также были удобны, особенно для немедленного удаления удаленных статей.
Спасибо Гарт. Я видел, что 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 сделать всю тяжелую работу с их построить свой собственный поисковый сервис (босс). Вот отличный пост в блоге, который проведет вас через процесс: http://www.peterkrantz.com/2008/yahoo-search-in-django/
похоже, что все здесь пропустили django-xappy
после быстрой оценки всех существующих поисковых аддонов для Django, я нашел этот как наиболее гибкий и простой в использовании. Это грубо по краям в нескольких местах, но это все-таки лучший способ использовать силу Xapian поисковая система внутри проектов Django.
вы можете посмотреть на Django Solr search (aka "Solango"), который поставляется с некоторой хорошей документацией, чтобы вы начали...
Если у вас есть большой объем данных для индексирования или вы ожидаете высокий трафик, я бы предложил использовать некоторые внешние поисковые системы, такие как Solr. Таким образом, вы будете держать общий-ничего подход и иметь возможность масштабировать компоненты сайта самостоятельно.
Я думаю, что я собираюсь дать кричать, чтобы Djapian.
Это рок-твердые...просто потяните вниз источник распределения и заглянуть внутрь. Код на высшем уровне, не очень много комментариев Тхо..
Это все еще молодой программный проект, но я думаю, что сообщество django должно бросить свой вес за этим.
Спасибо Джо,
мы решили пойти с Tsearch2 и пользовательским адаптером postgres. Tsearch2 не нуждается в дополнительном процессе для запуска, что было удобно, так как мы находимся на хостинге WebFaction с ограниченной памятью... Это еще не полностью сделано, но кажется хорошим решением...
Если вы готовы использовать стороннюю поисковую систему, я могу порекомендовать Yahoo BOSS и django-bosssearch.
Yahoo BOSS-это платная услуга, но она экономит время на настройке и обслуживании другого поискового программного обеспечения на вашем сервере.
Comments