2013-03-20 5 views
1

Я ищу учебники для реализации полнотекстового метода поиска в postgresql. Я пробовал несколько примеров, но никто не выступал. Я пробовал индексировать GIN, GIST и несколько методов исследования, но время поиска слишком велико. У меня есть datadase с более чем 4-мегапиксельной записью, содержащей имена художников. Мне нужно разработать метод поиска, который включает в себя алгоритмы fuzzystrseach.Полный текст Поиск в Postgresql

+0

Вы рассмотрели «объясните анализ» вашего запроса и подтвердили, что индекс действительно используется? Можете ли вы опубликовать анализ объяснений и определение таблицы и индекса? –

ответ

1

Возможно, это не тот ответ, который вы ищете, но я предлагаю вам попробовать Solr, Sphinx или какой-либо другой поисковый сервер. Solr будет обрабатывать 4M строк и нечеткий поиск без проблем. Раньше я боролся с той же проблемой, и моим решением было использовать Solr. Я не мог получить достаточную производительность, используя базу данных.

Solr может делать гораздо больше, чем просто нечеткий поиск. Solr может предварительно обрабатывать текст с помощью стебля для улучшения результатов поиска даже без нечеткого поиска. Stemming дает лучшую производительность, чем нечеткий поиск, потому что это делается при индексировании, и фактический поиск может выполняться как точное совпадение.

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

+0

Postgres также может делать. Но в принципе я согласен с тобой. Полный текстовый поиск лучше оставить специализированной системе. –

Смежные вопросы