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

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

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

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

Читать далее