Postgresql полнотекстовый поиск слов с несколькими конкретными символами - PullRequest
0 голосов
/ 12 апреля 2011

здесь проблема.Когда выполнить это:

select to_tsvector('simple', 'a.')

Я только один результат: «а», потому что «.»является "пробелом"

Итак, мой вопрос, каков наилучший способ удалить несколько символов из списка пробелов для этого (простого) словаря или другого (вновь созданного).Я не могу найти системную базу данных или файл, в котором postgresql хранит эти символы.

1 Ответ

1 голос
/ 14 мая 2011

Сначала необходимо создать пользовательскую конфигурацию текстового поиска

CREATE TEXT SEARCH CONFIGURATION your_fts (
    PARSER = pg_catalog."default" );

, а затем добавить сопоставление для пустых токенов

ALTER TEXT SEARCH CONFIGURATION name
    ALTER MAPPING FOR blank WITH simple;

Таким образом, все пробелы и специальные символы перейдут кtsvectors.Что, вероятно, не то, что вы хотите.Вам нужно будет использовать пользовательский словарь или даже пользовательский синтаксический анализатор , чтобы различать несколько специальных символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...