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

StackOverflow https://stackoverflow.com/questions/55056

Вопрос

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

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

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

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

Это было полезно?

Решение

Проверьте Поиск в Стоге Сена - новый уровень абстракции поиска на основе модели, который в настоящее время поддерживает Ксапиан, Солр и Свист.Похоже, это хорошо поддерживается и документировано.

Другие советы

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

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

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

Потенциальные выгоды:

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

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

А пока вот что я нашел:

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

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

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

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

Спасибо, Гарт.Я видел, что 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 я нашел это наиболее гибким и простым в использовании.В нескольких местах это грубовато по краям, но все равно это лучший способ использовать силу Ксапиан поисковая система внутри проектов Django.

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

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

Я думаю, что мне придется крикнуть Джапяну.

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

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

Спасибо, Джо,

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top