Я создаю проект Django, которому нужна функция поиска, и пока он не появится django.contrib.search
, мне нужно выбрать приложение для поиска. Итак, что лучше? Под "лучшим" я имею в виду ...
- легко установить / настроить
- имеет Django- или хотя бы Python-дружественный API
- может выполнять достаточно сложные поиски
Вот некоторые приложения, о которых я слышал. Пожалуйста, предложите другие, если вы знаете о них:
Я также хотел бы избегать использования сторонней поисковой системы (например, Google SiteSearch), потому что некоторые данные, которые я хотел бы проиндексировать, предназначены только для участников сайта и не должны быть общедоступными.
python
django
search
search-engine
Джастин Восс
источник
источник
Ответы:
Проверьте Haystack Поиск - новый на основе модели поиска уровень абстракции , который в настоящее время поддерживает Xapian , Solr и Свист . Похоже, он хорошо поддерживается и документирован.
источник
Джастин, я бы сначала попробовал djangosearch : над этим работает Джейкоб Каплан-Мосс (ведущий разработчик Django).
Возможные опасности:
Потенциальные преимущества:
django.contrib.search
».источник
Я ищу то же самое, как и многие другие люди. Будем надеяться, что скоро будет добавлен django.contrib.search .
А пока вот что я нашел:
На мой взгляд, большинство из них выглядят довольно сложно и, честно говоря, немного сложно реализовать. Мне было бы интересно узнать, что вы об этом думаете.
источник
Кодовая страница Google для djangosearch указывает на то, что она больше не находится в активной разработке, и предлагает haystack или solango .
источник
Я бы порекомендовал Sphinx для полнотекстового поиска и агрегации, а django-sphinx достаточно хорош для производственного использования. Мы обнаружили, что Sphinx был наименее ресурсоемким и самым быстрым способом индексирования и поиска наших документов, а django-sphinx был хорошей оболочкой поверх клиента sphinx.
Группировка по агрегированию особенно удобна, если, например, вы хотите отобразить, сколько документов с определенным тегом или определенным автором (или обоими) соответствует поиску. Обновление атрибутов в памяти тоже было удобно, особенно для немедленного удаления удаленных статей.
источник
Спасибо, Гарт. Я видел, что djangosearch хотел стать официальным поисковым агентом Django, но я не решался использовать его, потому что не мог найти никакой документации! К счастью, в Subversion есть README , которого я раньше не видел, и он делает API очень крутым:
источник
Мне просто нужно было очень быстрое решение, которое не было проблемой для внутреннего приложения.
Я быстро нашел статью « Добавление поиска в Django» , и она отлично сработала для меня!
Очевидно, что ему не хватает скорости, масштабируемости и возможностей реальных проектов, таких как Haystack, но этот проще настроить, и мне действительно не нужно ничего, кроме поиска по ключевым словам.
источник
Возможно, вы захотите позволить Yahoo выполнить всю тяжелую работу с помощью своей собственной службы поиска (BOSS). Вот отличный пост в блоге, который проведет вас через этот процесс: http://www.peterkrantz.com/2008/yahoo-search-in-django/
источник
Похоже, здесь все пропустили django-xappy
После быстрой оценки всех существующих аддонов поиска для Django я обнаружил, что это наиболее гибкое и простое в использовании. В некоторых местах это грубовато, но это по-прежнему лучший способ использовать возможности поисковой системы Xapian в проектах Django.
источник
Возможно, вы захотите взглянуть на поиск Django Solr (также известный как «Solango»), который поставляется с хорошей документацией, чтобы вы начали ...
источник
Если у вас есть большой объем данных для индексации или вы ожидаете большого трафика, я бы предложил использовать какую-нибудь внешнюю поисковую систему, например Solr . Таким образом, вы сохраните подход без общего доступа и сможете независимо масштабировать компоненты сайта.
источник
Думаю, мне придется отдать должное Джапяну.
Это надежно ... просто откройте исходный код и загляните внутрь. Первоклассный код, хотя комментариев не так много ..
Это еще молодой программный проект, но я думаю, что сообщество django должно поддержать его.
источник
Спасибо, Джо,
Мы решили использовать Tsearch2 и специальный адаптер postgres. Tsearch2 не нуждается в дополнительном процессе для запуска, что было удобно, поскольку мы находимся на хостинге WebFaction с ограниченной памятью ... Это еще не полностью сделано, но кажется хорошим решением ...
источник
Я нашел Djoosh, который полагается на внешнюю поисковую систему Whoosh на чистом питоне, чтобы хорошо работать с моим мозгом Python.
источник
Если вы хотите использовать стороннюю поисковую систему, я могу порекомендовать Yahoo BOSS и django-bosssearch .
Yahoo BOSS - платная услуга, но она избавляет вас от настройки и обслуживания другого программного обеспечения для поиска на вашем сервере.
источник