У вас есть несколько вариантов поиска в мире рубинов, например
- Сфинкс
- Хорек
- Solr
- Endeca
Просматривая документацию на heroku, heroku предлагает использовать solr - потрясающую поисковую систему. http://docs.heroku.com/websolr и http://docs.heroku.com/full-text-search более подробно об этом. Мы выбрали solr для поиска в одном из наших проектов и использовали sunspot_rails, который прекрасно интегрируется с вашими моделями и переиндексирует при изменении вашего контента. Мы использовали драгоценный камень sunspot_rails из http://github.com/outoftime/sunspot, который также рекомендуется heroku.
Предостережение заключается в том, что файловая система heroku доступна только для чтения и не позволяет запускать произвольные процессы, поэтому вам нужно выбрать такой, как websolr (от 20 $ в месяц) или создать собственный экземпляр amazon ec2 и выполнить индексацию там. Поскольку heroku также работает на amazon ec2, задержка очень и очень меньше.
Возвращаясь к альтернативам, Ferret, как известно, часто ломает / портит индексы в производстве. Сфинкс не поддерживается героем. Эндека чертовски дорогая, ты должен тратить большую часть своего бюджета только на получение базовых результатов.