Полнотекстовый поиск для django с использованием MySQL - PullRequest
0 голосов
/ 03 апреля 2012

Я из PHP и сейчас использую Django, мне нравится сопоставлять запросы PHP и я хочу использовать какое-то уже разработанное приложение. для полнотекстового поиска. Хорошей частью является то, что есть много таких, как Джапиан, Сфинкс, Люцен, Соланго и Хейстек. И плохо, я не знаю, что я должен использовать? Приложение. новее, и поиск может быть другого типа, как поиск людей поиск контента e.t.c. Поэтому я хочу, чтобы он был достаточно быстрым и быстрым в реализации и надежным. Так кто-нибудь знает, какой из них лучше и может быть позже легко заменен нашим собственным, если потребуется?

Пожалуйста, скажите, лучше ли писать с использованием Q.

спасибо

1 Ответ

2 голосов
/ 03 апреля 2012
  • Используйте Haystack с Xapian, Solr backend или Djapian, если ваш проект серьезен и функция поиска будет использоваться часто.
  • Используйте самодельный Q, если вы хотите играть с ORM, или есть дополнительные сложные фильтры или другие виды операций, которые Haystack не поддерживает. Не ожидай многого от этого.

редактировать

Стог:

  • сменные бэкэнды, Xapian и Solr являются многообещающими (стабильные, быстрые и недорогие на диске).
  • хорошая интеграция с Django
  • настраиваемая политика индексирования
  • иногда может быть что-то странное, вам нужно проверить код напрямую
  • установка бэкэндов может быть затруднена на некоторых платформах, но в Интернете есть инструкции

Используя встроенный полнотекстовый поиск MySQL, вам необходимо:

  • Вручную подготовить БД, проверьте Документ и Django MySQL полнотекстовый поиск
  • написать такие вещи, как анализатор поисковых запросов и подсветка
  • знает о загрузке БД при поиске
  • работает только в MySQL, пока не очень просто в PostgreSQL
  • Это поддержка Django напрямую на уровне ORM, поэтому тогда можно выполнить сложный фильтр. В Haystack вам необходимо тщательно выбирать условия индексации и хранимые документы для обеспечения соотношения производительности и функциональности

У меня нет опыта работы со Сфинксом, поэтому я не упомянул об этом.

...