Rails: ActiveSearch pluginПлагин ActiveSearch просто чудо какое-то, большое человеческое спасибо julik.nl за его разработку. Штука сия облегчает и без того легкую жизнь ;-) rails-девелопера при разработке простейшего поиска по записям базы. Идея сего плагина такова: используя разнообразные инексаторы исходя из планируемого объема данных вырабатываем оптимальный подход к поиску по записям базы. Например, мой сайт содержит весьма небольшой объем данных, и, как рекомендует Julik, при объеме до 500 записей целесообразно использовать простейший индексатор ActiveSearch::LikeIndexer. Для того чтобы поиск заработал необходимо: 1. Установить плагин: cd project ruby script/plugin install http://julik.textdriven.com/svn/tools/rails_plugins/simple_search/ 2. Добавить поле searchable к таблицам, по которым вы собираетесь искать. Целессобразно сделать это через миграцию: def self.up def self.down 3. В моделях Product и Category добавляем указание к индексированию: indexes_columns :title, :short_description, :long_description 4. запустить начальное индексирование: консоль rais: ruby script/console в консоли Products.indexers[0].rebuild! Category.indexers[0].rebuild! Все, теперь мы можем достаточно быстро искать по записям:
Можно искать и по Category.find_using_term("query"), как в документации указано, но, видимо такое использование предполагает использование сразу нескольких индексаторов.
Таким образом плагин может быть использован с: 1. индексом в поле searchable в каждой модели, по которой будет производиться поиск. 2. индексом в отдельной таблице 3. индексом через плагин ferret способы индексации расположены в порядке увеличения количества данных для поиска. Удобно, Julik, u made my day. Оставить комментарий |
© Максим Прокопов 2005-2024 | О сервере |