powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_tsparser и русский текст
4 сообщений из 4, страница 1 из 1
pg_tsparser и русский текст
    #39777197
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь использует парсер pg_tsparser (расширение Postgres Pro для текстового поиска) для поиска в русских текстах.
Почему-то у меня он не дружит с русскими буквами.

Код: sql
1.
2.
3.
select  p.token, tt.alias, tt.description, p.tokid
from    ts_parse('tsparser', 'АБВГ-05') p
    join    ts_token_type('tsparser') tt    on  p.tokid = tt.tokid;



Говорит, что АБВГ - это пробелы.
Код: plaintext
1.
2.
АБВГ	blank		Space symbols	12
-05	int	Signed integer	21

С латинскими буковками 'ABCD-234' всё хорошо (во всяком случае так, как бы мне хотелось).
Код: plaintext
1.
2.
3.
4.
ABCD-234	numhword	Hyphenated word, letters and digits	15
ABCD		hword_asciipart	Hyphenated word part, all ASCII		11
-		blank		Space symbols				12
234		hword_numpart	Hyphenated word part, letters and digits	9

Русскую буковку среди латинских 'ABЫD-234' тоже определяет пробелом.
Осмыссленный текст 'зелёное яблоко' вообще игнорируется.

Это у меня что-то не так, я чего-то не понимаю? Или сей парсер не предназначен для русских текстов?

postgres 11.1 (теперь уже 11.2)
Свойства БД:
encoding = 'UTF8'
lc_collate = 'ru_RU.UTF-8'
lc_ctype = 'ru_RU.UTF-8'

ОС openSUSE Leap 15.0
...
Рейтинг: 0 / 0
pg_tsparser и русский текст
    #39777965
Rutra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, есть такая проблема.

Изначально парсер дружил с русскими буквами. Но в pg 11 и master сделали изменения, из-за которых парсер перестал правильно работат с не ASCII символами.

Запушил исправление, теперь парсер должен работать правильно.
...
Рейтинг: 0 / 0
pg_tsparser и русский текст
    #39778039
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Замечательно.
Будем ждать появления этих изменений в официальном издании.
...
Рейтинг: 0 / 0
pg_tsparser и русский текст
    #39798745
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ещё, как оказалось, ни default-ный парсер ни tsparser (исправленный из postgrespro 11.2.1) не умеют парсить url-ы в зоне рф (с русскими буковками).
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select  p.tokid, p.token, t.alias, t.description
from
    ts_parse(
        'default',
--        'tsparser',
--        'http://qwerty.asdf.zxc/uiop/hjk'
       'http://что-то.зона.рф/путь'
    ) p
        join    ts_token_type('default')    t   on  (p.tokid = t.tokid)
;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_tsparser и русский текст
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]