|
Дробные числа с запятой в to_tsvector
|
|||
---|---|---|---|
#18+
Приветствую. Встала задача при парсинге в tsvector считать дробные числа с запятой собственно дробным числом, а не как в дефолтном парсере - двумя числами с разделителем в виде запятой. Сейчас select to_tsvector('2.5') выдает '2.5':1, а для select to_tsvector('2,5'); ответ будет '2':1 '5':2 ts_debug (SELECT alias, token, dictionary, lexemes FROM ts_debug('2,5')) выдает такую информацию для дробного числа с точкой: alias = float, token = 2.5, dictionary = simple, lexemes = {2.5}. Насколько я понимаю, надо подключить словарь, который сможет вернуть 2,5 как полноценный токен. В идеале, наверное, как float, но в принципе будет достаточно, если это будет текстовый токен. В интернете при подключении словарей для tsvector обсуждают то, как слова на русском токенезировать, а вот как дробные числа обрабатывать, я не нашел. Кто-нибудь сталкивался с такой задачей? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2018, 07:32 |
|
Дробные числа с запятой в to_tsvector
|
|||
---|---|---|---|
#18+
gruender, этим токенайзер занимается, ещё до всяких словарей. см Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2018, 14:41 |
|
Дробные числа с запятой в to_tsvector
|
|||
---|---|---|---|
#18+
qwwq, Да, действительно, дефолтный парсер так работает. И похоже, что у него нет настроек? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 10:57 |
|
Дробные числа с запятой в to_tsvector
|
|||
---|---|---|---|
#18+
gruender, как минимум 2 пути -- 1. написать свой экземпляр парсера . видимо на С. 2. подавать на вход сущ-му парсеру модифиц (и нет) строку translate .... ',.', '.,' + вероятно сравнивая 2 выхлопа итоговых тсвекторов строить 3--й -- свой. 1-й лаконичнее. во всех смыслах. но не для всех. 2-й не требует работы на уровне С. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2018, 11:21 |
|
|
start [/forum/topic.php?fid=53&fpage=55&tid=1995762]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 529ms |
0 / 0 |