На выходных в очередной раз засел за Djapian и новый релиз сделал. Качайте. Там в основном улучшения и добавление полезных фич, но есть и важный багфикс.
Я перескажу Release Notes:
- Язык стемминга можно задавать для каждого поискового запроса. Удобно, если документы в индексе могут быть на разных языках и по ним надо языко-зависимо искать. В прошлом релизе я это оторвал, но сейчас починил.
- Добавлена возможность добавлять в индекс модели без специального определения индексера. В таком случае он сгенерируется автоматически, Примерно также ведет себя админка, когда в неё регистрируешь модель без явного указания
ModelAdminкласса. - Добавлена возможность вытягивать объекты с
select_relatedвprefetchрежиме. Для этого надо его вызывать вот так:prefetch(select_related=True). Полезно в плане повышения производительности. - Добавлены методы
filterиexcludeдля фильтрации результатов поискового запроса по тегам. Поддерживаются привычные для джанги предикаты сравнения:__exact,__gt,__gte,__lt,__lte,__in. Теперь удобно стало отбирать результаты поиска по каким-то атрибутам. - Добавлен композитный индексер, который позволяет делать запросы в несколько индексов (т.е. для нескольких моделей) одновременно. Поможет сделать "глобальный поиск по сайту" с однородным ранжированием.
Такие дела. В очередной раз призываю использовать Djapian, если вам нужен полнотекстовый поиск в ваших джанго-проектах. Я так же планирую написать цикл tutorial-постов, так что если кто сомневается, то не пропустите:-)
Комментарии 12
Буду ждать tutorial-посты :)
Оставлен 07 Апрель 2009 в 20:23 ¶А я не буду ;-).
..bw
Оставлен 08 Апрель 2009 в 01:38 ¶"Добавлен композитный индексер". А можно пример, как это использовать?
Оставлен 04 Май 2009 в 21:16 ¶Например так - поиск по трем индексам сразу:
Оставлен 04 Май 2009 в 22:28 ¶Решил попробовать. Индексирую базу новостей. В ней чуть более 100к новостей. Индексирует уже 3 часа. Это можно как то ускорить?
Оставлен 04 Май 2009 в 22:48 ¶Вы 2.1 версию используете?
Индексируете через
Оставлен 04 Май 2009 в 23:34 ¶./manage.py index --rebuild?Да, именно так. До сих пор все индексирует.
Оставлен 05 Май 2009 в 09:08 ¶Что-то слишком долго. А база Djapian растет со временем? Может он там застрял на одном месте или по кругу ходит?!
..bw
Оставлен 05 Май 2009 в 17:36 ¶Я сейчас тестирую - пытаюсь 150К статей википедии индексировать. Действительно, скорость не большая. Нашел одно место, которое может серьезно убить производительность.
Будет хотфикс.
Оставлен 05 Май 2009 в 17:46 ¶Я ранее пробовал индексировать в версии 2,0 вроде, тогда минут за 20 все переиндексировалось. База была гдето 500мб. А щас растет но очень медленно. Общий объем за это время получился 70мб гдето. я уже не стал ждать, остановил все.
Оставлен 05 Май 2009 в 18:38 ¶Да, возможно, какие-то нововведения убили производительность. Я изучаю этот вопрос.
О результатах напишу:-)
Оставлен 05 Май 2009 в 18:55 ¶Выпустил обновление - подробности тут.
Оставлен 06 Май 2009 в 00:31 ¶Оставьте комментарий