Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ERROR: string is too long for tsvector / 7 сообщений из 7, страница 1 из 1
26.07.2010, 13:29
    #36759393
web_fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
Здравсвуйте.
Получаю сообщение при выполнении запроса на вставку. Сообщение приходит из-за функционального индекса по to_tsvector:

авторQuery failed: ERROR: string is too long for tsvector (1626476 bytes, max 1048575 bytes)

Как-то грустно получается: если бы был предел на сам текст, то можно было бы его усечь, а так получается предел на tsvector. Как быть?
...
Рейтинг: 0 / 0
26.07.2010, 14:02
    #36759496
web_fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
Получается, что текст может быть на 10 Мб, а вектор получится на пол Мб. И поэтому очень плохо резать абсолютно все тексты по какой-то длине, да и не понятно по какой.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
14.01.2020, 13:52
    #39913645
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
2all
а воз и ныне там ?

какие у кого варианты костылей ?


//совсем долгий -- обернуть ф-ей с ексепшеном и собиралкой (унутре оного) усечённого тсвектора из тсвекторов от кусков текстов с подавлением всяких маргинальных включений (маргинальность -- по вкусу)
...
Рейтинг: 0 / 0
15.01.2020, 12:14
    #39914206
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
ps
нашёл
https://pgroonga.github.io/


-- к сожалению пока фуфел
на их же туториеле имеем :
https://pgroonga.github.io/tutorial/

Код: sql
1.
2.
3.
4.
5.
6.
set enable_bitmapscan  to off;
SELECT * FROM memos WHERE content LIKE '%ngine%';
--2;'Groonga is a fast full text search engine that supports all languages.'
reset enable_bitmapscan;
SELECT * FROM memos WHERE content LIKE '%ngine%';
--no rows



-- сиречь они какого-то хера насмерть запороли like | ilike по индексированным пгрунгой полям
пичаль.
...
Рейтинг: 0 / 0
15.01.2020, 13:47
    #39914298
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
qwwq, ЗЫ :

псевдорешение
https://github.com/pgroonga/pgroonga/issues/121
Код: sql
1.
WITH (tokenizer='TokenNgram("unify_alphabet", false, "unify_digit", false, "unify_symbol", false)')


как только план загоняется на индекскан. (енейблами например)
колхоз.
...
Рейтинг: 0 / 0
15.01.2020, 14:12
    #39914323
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
qwwq,PSS:

Код: sql
1.
2.
3.
4.
5.
drop index pgroonga_content_index;
CREATE INDEX pgroonga_content_index ON memos USING pgroonga (content)
--WITH (tokenizer='TokenNgram("unify_alphabet", false, "unify_digit", false, "unify_symbol", false)')

WITH (tokenizer='TokenBigramSplitSymbolAlphaDigit')



см: https://pgroonga.github.io/reference/operators/like.html

так вроде бы работает с индексканами в планах.
можно тестить дальше


однако вопрос -- зачем было (и)лайк и регеспы перекрывать для другого токенайзера ?
...
Рейтинг: 0 / 0
16.01.2020, 14:14
    #39914811
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ERROR: string is too long for tsvector
psss (2pgroogna) :

чтобы иметь pgroogna--полнотекст, и не ломать напрочь like, нашел, что можно юзать опцию pgroonga_varchar_full_text_search_ops_v2 (её авторы додумались НЕ прикручивать к like -- у, в отличии от pgroonga_text_full_text_search_ops_v2).

Код: sql
1.
2.
3.
4.
CREATE INDEX 
  ON public.fulltext
  USING pgroonga
  (fulltext  pgroonga_varchar_full_text_search_ops_v2 );


правда в кляузе поиска тексты приходится руками кастить к варчару.

вроде бы все операторы , обслуживаемые pgroonga--индексом с этой опцией не перекрывают "нормальных" текстовых операторов. т.ч. поломки поведения "обычного" скл не ожидается . пока .
ковыряю дальше
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ERROR: string is too long for tsvector / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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