RoR: оптимальный пакет поиска для базы данных 16k + - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть база данных (psql), которая содержит около 16 000 записей; это названия фильмов. Я пытаюсь выяснить, каков наиболее оптимальный способ их поиска (в настоящее время их ищут в Интернете на веб-сайте Heroku для Ruby on Rails). Однако некоторые запросы, такие как поиск слова типа «а», могут занимать до 20 секунд. Я думал об использовании Sphinx, однако такие пакеты рекламируются для полнотекстового поиска, поэтому мне интересно, подходит ли это для моей проблемы. Любой совет будет оценен.

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

16000 записей слишком мало как по количеству, так и по размеру (как вы сказали название), чтобы претендовать на поиск в поисковой системе.Попробуйте обычный полнотекстовый поиск в вашей базе данных.Установите индексы, чтобы сделать это быстрее.

Однако это не мешает вам попробовать некоторые поисковые системы, такие как Sphinx или Solr.Оба с открытым исходным кодом.Сфинкс тоже довольно прост в настройке.Но, повторюсь, в этом нет необходимости, поскольку размер данных слишком мал и входит в область полнотекстового поиска в базе данных.

0 голосов
/ 14 февраля 2012

Если ваша база данных на PSQL, то sphinx невозможен, так как до сих пор heroku postgres не поддерживал работу со sphinx, поэтому до сих пор остается использовать solr, который также подходит для полнотекстового поиска, и некоторые простые шаги длязаставить его реализовать.

...