Можно ли динамически создавать словарь в PostgreSQL? - PullRequest
1 голос
/ 04 сентября 2011

Я новичок в полнотекстовом поиске в PostgreSQL и обнаружил такие вещи, как словари и стоп-слова в нем.

У меня есть таблица с большим количеством слов из многих текстов.Я хочу создать свой собственный словарь и поместить первые 30 наиболее часто встречающихся слов в качестве стоп-слов.

Возможно ли это сделать во время выполнения?

1 Ответ

1 голос
/ 22 марта 2013

Все возможно. Не все возможно.

То, что вы можете сделать без особых сложностей, - это создать хранимую процедуру на языке, подобном pl / perlU, которая разбивает слова, анализирует их и записывает стоп-слова в файл. Вам нужно будет сделать pg_ctl reload, чтобы убедиться, что использовался новый файл стоп-слов. Однако я не думаю, что вы можете динамически определять стоп-слова во время поиска, потому что, если вы будете искать по строкам в поисках стоп-слов, нет особого смысла в полнотекстовом поиске.

Фактический файл стоп-слов - это просто список слов, разделенных новой строкой. Кроме того, я думаю, что вам нужно начать с шаблона для стемпинга. Попытка динамического обнаружения stemming будет и трудной, и подверженной ошибкам.

...