Тег "indexing" | Интернет нового века | webnewage.org

Интернет нового века

Проблема выбора реализации для индексирования/поиска на сайте, поднятая мною недавно, пришла к своему разрешению. Как я уже говорил, остановился я на djapian. Но в том виде, в котором было данное приложение, его использовать было практически невозможно.

Решил немножко подкрутить там гайки и обтесать под свои нужды. Но поскольку изменений накопилось много, то я завел отдельный проект для моей ветки. Назвал я его просто и без затей django-xapian. И конечно же выкладываю в открытый доступ свои наработки. Вот домашняя страничка проекта http://webnewage.org/projects/p/django-xapian/

Основные изменения по сравнению с оригиналом:

  • Код подтянут до транка джанги
  • Исправлен NameError, который ставил крест на использовании оригинала:)
  • Объекты обрабатываются только при срабатывании пользовательского триггера, а не просто по событию
  • Перенесен сервис индексировани из отдельно скрипта в команду manage.py
  • Оптимизирован процесс индексирования - убраны лишние действия, которые выполнял исходный скрипт, не отфильтровывая неактуальные уже изменения в объектах.
  • Убрана махинация с неймспейсами
  • Добавлена возможность индексирования не только непосредственно полей данных модели и но ...

Читать далее

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

В некоторые СУБД встроены механизмы полнотекстового индексировании, в другие нет. Но хочется иметь механизм универсальный и не зависящий от бекэнда хранения данных, ведь в конце концов информации может и не в базе вовсе храниться.

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

Вторая проблема выбрать реализацию для питона/джанги. Для джанги есть несколько сторонних приложений, которые позволяют использовать индексирование. Перечислю те, которые мне попались во время тематического поиска:

Последнее(на которое обратил моё внимание Lorien это не джанго приложение по сути, а фреймворк для индексирования, которые включает в себя бэкэнды разных движков в том ...

Читать далее