Александр Кошелев
Александр Кошелев Python-разработчик

Djapian: версия 2.1

На выходных в очередной раз засел за Djapian и новый релиз сделал. Качайте. Там в основном улучшения и добавление полезных фич, но есть и важный багфикс.

Я перескажу Release Notes:

  • Язык стемминга можно задавать для каждого поискового запроса. Удобно, если документы в индексе могут быть на разных языках и по ним надо языко-зависимо искать. В прошлом релизе я это оторвал, но сейчас починил.
  • Добавлена возможность добавлять в индекс модели без специального определения индексера. В таком случае он сгенерируется автоматически, Примерно также ведет себя админка, когда в неё регистрируешь модель без явного указания ModelAdmin класса.
  • Добавлена возможность вытягивать объекты с select_related в prefetch режиме. Для этого надо его вызывать вот так: prefetch(select_related=True). Полезно в плане повышения производительности.
  • Добавлены методы filter и exclude для фильтрации результатов поискового запроса по тегам. Поддерживаются привычные для джанги предикаты сравнения: __exact, __gt, __gte, __lt, __lte, __in. Теперь удобно стало отбирать результаты поиска по каким-то атрибутам.
  • Добавлен композитный индексер, который позволяет делать запросы в несколько индексов (т.е. для нескольких моделей) одновременно. Поможет сделать “глобальный поиск по сайту” с однородным ранжированием.

Такие дела. В очередной раз призываю использовать Djapian, если вам нужен полнотекстовый поиск в ваших джанго-проектах. Я так же планирую написать цикл tutorial-постов, так что если кто сомневается, то не пропустите:-)

comments powered by Disqus