Джанго: Хейстек или ОРМ - PullRequest
3 голосов
/ 20 мая 2011

Для проекта я реализовал Haystack, но теперь мне было интересно, каковы плюсы и минусы использования Haystack поверх ORM.Для моего проекта мне нужно найти книги по названию и исбн.Я думаю, Haystack более полезен, если вам нужно выполнить полнотекстовый поиск или я что-то упустил?

Ответы [ 4 ]

6 голосов
/ 20 мая 2011

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

  1. орфографические предложения
  2. Огранка
  3. Больше похоже на это
  4. Подсветка
  5. Повышение поискового запроса

Кроме того, вы должны использовать Haystack поверх ORM, если вы ожидаете большой объем поисков, поскольку вы будете выгружать всю эту работу из БД (которая должна быть сосредоточена на записи и извлечении ваших данных).

http://haystacksearch.org/

3 голосов
/ 20 мая 2011

Основным преимуществом использования стога сена над ORM является производительность. LIKE Запросы просто убьют вашу базу данных, если у вас будет 100 одновременных пользователей.Если у вас есть MYSQL, конечно, вы все равно можете использовать его полнотекстовые возможности, но он все равно будет работать медленнее, чем Xapian или Solr.

Плюс у вас появятся дополнительные функции, такие как нечеткий поиск, который очень нравится пользователю.

Это идет с дополнительной работой по настройке solr и его поддержке, поэтому:

  • если ваш сайт навсегда будет маленьким, как для интранета небольшой компании, не беспокойтесьи пользователь ORM.
  • , если вы планируете большую плохую сеть, зайдите в Haystack.
1 голос
/ 20 мая 2011

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

0 голосов
/ 20 мая 2011

Haystack - это модуль, который упрощает интеграцию поиска для вашего приложения django

вы можете создать что-то похожее на ModelForm под названием ModelIndex, в этом новом классе вы сможете объявить доступные для поиска поля ваших моделей и другие настройки

Это не имеет ничего общего с Django ORM (orm используется для связи с вашими базами данных)

конечно, вы можете сделать запрос orm на ваши модели БД с указанным шаблоном поиска, но Haystack - лучший выбор для легкой настройки поисковой системы на вашем сайте, так что ... если вам нужно включить сложный поиск на вашем сайт, просто зайдите с Haystack

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