powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / tsearch2 - непонятка при создании индекса
7 сообщений из 7, страница 1 из 1
tsearch2 - непонятка при создании индекса
    #34739514
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"word you are indexing is too long will be ignored"

не нашел, какая максимальная длина данных индексируемого поля может быть?...
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34741815
iz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iz
Гость
Length of lexeme < 2K
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34743887
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izLength of lexeme < 2K

именно лексемы? т.е. при разбиении текста одна из лексем, т.е. слово >=2k ?
У меня 7 млн запсией индексировалось, поулчил такое сообщение, я так понимаю, что узнать в какой записи, или в каком тексте такое произошло нельзя.
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34744728
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhя так понимаю, что узнать в какой записи, или в каком тексте такое произошло нельзя.Вы действительно думаете что нельзя найти строчку в которой длина слова будет максимальна ? %) если у Вас какие-то проблемы с хранимыми процедурами то есть же ещё язык SQL, что Вам мешает его использовать ? :)

вот что первое пришло в голову:
Код: plaintext
1.
2.
select name, i, split_part(name, ' ', i), length(split_part(name, ' ', i))
from addr_street join (select generate_series( 1 ,  50 ) as i) foo on (true)
order by length(split_part(name, ' ', i)) desc limit  20 ;
50 - это максимальное кол-во слов, name - изучаемое поле. Результатом будет первые 20 строк с самыми длинными словами, столбец i - номер слова в строке.

Думаю что скрипт/хранимка на perl которая просто переберёт все строки будет раз в 10 быстрее.
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34745365
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш Winnipuhя так понимаю, что узнать в какой записи, или в каком тексте такое произошло нельзя.Вы действительно думаете что нельзя найти строчку в которой длина слова будет максимальна ? %) если у Вас какие-то проблемы с хранимыми процедурами то есть же ещё язык SQL, что Вам мешает его использовать ? :)

вот что первое пришло в голову:
Код: plaintext
1.
2.
select name, i, split_part(name, ' ', i), length(split_part(name, ' ', i))
from addr_street join (select generate_series( 1 ,  50 ) as i) foo on (true)
order by length(split_part(name, ' ', i)) desc limit  20 ;
50 - это максимальное кол-во слов, name - изучаемое поле. Результатом будет первые 20 строк с самыми длинными словами, столбец i - номер слова в строке.

Думаю что скрипт/хранимка на perl которая просто переберёт все строки будет раз в 10 быстрее.

я не думаю, " что нельзя найти строчку в которой длина слова будет максимальна " ;-)
я знаю, что можно, но одно дело теоретически расуждать, а другое порыться в таблице с 7 млн записей и тремя полями, которые индексируются,т.е. для которых строятся векторы.

по поводу Перла. а что выдействиетльно верите, что перл сможет ускорить выполнение сервером запросов? :-)
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34749102
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhя не думаю, " что нельзя найти строчку в которой длина слова будет максимальна " ;-)
я знаю, что можно, но одно дело теоретически расуждать, а другое порыться в таблице с 7 млн записей и тремя полями, которые индексируются,т.е. для которых строятся векторы.и в чём проблема ? нехотите ждать ? :)
Winnipuhпо поводу Перла. а что выдействиетльно верите, что перл сможет ускорить выполнение сервером запросов? :-)для вышепреведённого моего запроса - думаю что да. так как результатом join'а будет 50 * 7миллионов строк для каждой из которых будет вызваны функции length и split_part, а на plperl для того что бы найти строку с нужной длинны подстрокой достаточно одного цикла (7 миллионов строк) что в 50 раз меньше чем у моего join.
...
Рейтинг: 0 / 0
tsearch2 - непонятка при создании индекса
    #34749220
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш Winnipuhя не думаю, " что нельзя найти строчку в которой длина слова будет максимальна " ;-)
я знаю, что можно, но одно дело теоретически расуждать, а другое порыться в таблице с 7 млн записей и тремя полями, которые индексируются,т.е. для которых строятся векторы.и в чём проблема ? нехотите ждать ? :)
Winnipuhпо поводу Перла. а что выдействиетльно верите, что перл сможет ускорить выполнение сервером запросов? :-)для вышепреведённого моего запроса - думаю что да. так как результатом join'а будет 50 * 7миллионов строк для каждой из которых будет вызваны функции length и split_part, а на plperl для того что бы найти строку с нужной длинны подстрокой достаточно одного цикла (7 миллионов строк) что в 50 раз меньше чем у моего join.

ждать то можно, но хотелось бы быстрее... ;)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / tsearch2 - непонятка при создании индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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