Просто запустите проблему. Я пытаюсь настроить полнотекстовый поиск по локализованному контенту (в частности, по-русски). Проблема в конфигурации по умолчанию (как и в моем обычном режиме) не касается писем. Пример:Postgresql полнотекстовый поиск tokenizer
SELECT * from to_tsvector('test_russian', 'На рынке появились новые рублевые облигации');
> 'На':1 'новые':4 'облигации':6 'появились':3 'рублевые':5 'рынке':2
'На' - это секундомер и его необходимо удалить, но он даже не уменьшен в результате в векторе результата. Если я прохожу строчную строку, все работает правильно
SELECT * from to_tsvector('test_russian', 'на рынке появились новые рублевые облигации');
> 'новые':4 'облигации':6 'появились':3 'рублевые':5 'рынке':2
Конечно, я могу передать предварительно строчные строки, но руководство говорит
Простой словарь шаблон работает путем преобразования входных маркеров в нижний регистр и проверки это против файла стоп-слов.
Config russian_test
выглядит следующим образом:
create text search CONFIGURATION test_russian (COPY = 'russian');
CREATE TEXT SEARCH DICTIONARY russian_simple (
TEMPLATE = pg_catalog.simple,
STOPWORDS = russian
);
CREATE TEXT SEARCH DICTIONARY russian_snowball (
TEMPLATE = snowball,
Language = russian,
StopWords = russian
);
alter text search configuration test_russian
alter mapping for word
with russian_simple,russian_snowball;
Но я на самом деле получить те же результаты с помощью встроенного russian
конфигурации.
Я попробовал ts_debug и токены, обработанные как word
, как и ожидалось.
Любые идеи?