Текстовый поиск для Rails 3 в Heroku - Текст против актов_с_поиск_Зданий_секунд - PullRequest
9 голосов
/ 19 апреля 2011

Я создаю приложение Rails 3, которое будет размещено на Heroku.

Чтобы реализовать полнотекстовый поиск, я наткнулся на бесплатные альтернативы:

Texticle

acts_as_tsearch

acts_as_indexed

Мое приложение будет работать с большими объемами данных для чтения и записи. Поиск также будет много использоваться.

Поиск будет проходить по разным моделям.

Какой из них будет лучшим с точки зрения производительности и масштабирования?

Есть ли другие бесплатные и лучшие альтернативы?

Лучше пойти на IndexTank или WebSolr (который Heroku рекомендует ) вместо этого?

Заранее спасибо!

Ответы [ 4 ]

12 голосов
/ 30 ноября 2011

Вы пробовали PgSearch https://github.com/Casecommons/pg_search? Поскольку heroku использует pg, вы фактически получаете полнотекстовый поиск бесплатно, а PgSearch создает именованные области видимости, которые используют преимущества полнотекстового поиска PostgreSQL.

1 голос
/ 08 декабря 2014

Вы можете использовать встроенный в PostgreSQL полнотекстовый поиск, но это неудобно, но есть такие гемы, как pg_search, которые делают его намного проще, но у него есть серьезные проблемы, но я нашел простые обходные пути.Подробнее см. https://docs.google.com/presentation/d/1NbN0kJMJsSQW2N7ItNMB6VuM_lJok-Xb0epk0anbRIo (слайды из моего молниеносного доклада под названием «Полнотекстовый поиск в Heroku БЕСПЛАТНО»).

0 голосов
/ 27 ноября 2011

Heroku рекомендует использовать дополнение для полнотекстового поиска.Это обеспечивает наилучшую производительность, масштабируемость и простоту использования для вашего приложения.Есть два дополнения для полнотекстового поиска: IndexTank и Websolr .

0 голосов
/ 05 октября 2011

Я бы порекомендовал использовать WebSolr.Это поисковая система корпоративного уровня, основанная на Apache Solr, которая может обрабатывать миллионы проиндексированных документов без проблем.Кроме того, Solr позволяет вам определять индивидуальную структуру для ваших данных, а не заставлять вас искать простой FULLTEXT-поиск.Он предлагает дополнительные функции, такие как граненый поиск и исправление орфографии.

Если вы не хотите платить за Solr, вы можете разместить его самостоятельно, так как он с открытым исходным кодом: http://lucene.apache.org/solr/

СЧто касается упомянутых вами альтернатив, если вы делаете значительный объем поиска, я бы не использовал ничего, что полагается на базу данных вашего приложения, для выполнения полнотекстового поиска - это очень любительское решение, которое не масштабируется.

...