powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / добавить стоп-слова для полнотекстового поиска.
28 сообщений из 28, показаны все 2 страниц
добавить стоп-слова для полнотекстового поиска.
    #39423120
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при экспериментах с полнотекстовым поиском я заметил, что не все нужные слова распознаются как стоп-слова. например слова: "какой", "какая" считаются стоп-словами, а "какие" -- почему то нет.
Нашел место хранения русских стоп-слов /usr/pgsql/share/tsearch_data/russian.stop
добавил в этот файл нужные слова. А как теперь применить изменения, чтобы это при при поиске учитыалось?
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423220
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще вот пример:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
db=# SELECT * FROM ts_debug('нужно');
 alias |    description    | token |         dictionaries         |  dictionary  | lexemes 
-------+-------------------+-------+------------------------------+--------------+---------
 word  | Word, all letters | нужно | {my_synonym,russian_stem} | russian_stem | {нужн}
(1 строка)

db=# SELECT * FROM ts_debug('нужен');
 alias |    description    | token |         dictionaries         |  dictionary  | lexemes 
-------+-------------------+-------+------------------------------+--------------+---------
 word  | Word, all letters | нужен | {my_synonym,russian_stem} | russian_stem | {нуж}
(1 строка)


"нужно" и "нужен" -- это разве разные слова? а как сделать, чтобы они одинаково распознавались?
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423227
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкина еще вот пример:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
db=# SELECT * FROM ts_debug('нужно');
 alias |    description    | token |         dictionaries         |  dictionary  | lexemes 
-------+-------------------+-------+------------------------------+--------------+---------
 word  | Word, all letters | нужно | {my_synonym,russian_stem} | russian_stem | {нужн}
(1 строка)

db=# SELECT * FROM ts_debug('нужен');
 alias |    description    | token |         dictionaries         |  dictionary  | lexemes 
-------+-------------------+-------+------------------------------+--------------+---------
 word  | Word, all letters | нужен | {my_synonym,russian_stem} | russian_stem | {нуж}
(1 строка)


"нужно" и "нужен" -- это разве разные слова? а как сделать, чтобы они одинаково распознавались?

Здесь была моя тема уже несколько месяцев назад, но никто не смог объяснить как настраивать FTS каталоги и индексы для индексирования и поска форм слов.

В вашем случае - разные.

Что будет если так?

SELECT * FROM ts_debug('нужный');
SELECT * FROM ts_debug('нужник');
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423235
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинSELECT * FROM ts_debug('нужный');
SELECT * FROM ts_debug('нужник');

нужн
нужник
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423239
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да. видимо, с такой штукой, как текстовый поиск с учетом русской морфологии, у нас только в яндексе профессионально работают :)
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423335
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинда. видимо, с такой штукой, как текстовый поиск с учетом русской морфологии, у нас только в яндексе профессионально работают :)

даладно


всё решаемо, нужны правильно настроенные словари
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423403
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну в этом то и вопрос, кто бы мог объяснить, как словари настроить

я здесь всё прочитал https://postgrespro.ru/docs/postgresql/9.6/textsearch.html
но на возникшие на практике вопросы там решений не нашел.
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423425
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинну в этом то и вопрос, кто бы мог объяснить, как словари настроить

я здесь всё прочитал https://postgrespro.ru/docs/postgresql/9.6/textsearch.html
но на возникшие на практике вопросы там решений не нашел.

да, вот я спрашивал то же

http://www.sql.ru/forum/1240321/vopros-po-full-text-search

Здесь раньше бывал Бартунов, что-то подсказывал, но сейчас он не занимается этим.
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423456
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинЗдесь раньше бывал Бартунов, что-то подсказывал, но сейчас он не занимается этим.
это он раньше был свободный художник

а теперь он директор -- семеро по лавкам -- ему сотрудников кормить надоть
т.ч. не будьте такими злыми, ходите на их представления, они их таки иногда дают:
http://www.sql.ru/forum/1248096/pgconf-russia-2017-segodnya-so-skidkoy?mid=20162856&hl=postgrespro#20162856

и ещё тут:
https://postgrespro.ru/education/courses
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423460
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqРолг ХупинЗдесь раньше бывал Бартунов, что-то подсказывал, но сейчас он не занимается этим.
это он раньше был свободный художник

а теперь он директор -- семеро по лавкам -- ему сотрудников кормить надоть
т.ч. не будьте такими злыми, ходите на их представления, они их таки иногда дают:
http://www.sql.ru/forum/1248096/pgconf-russia-2017-segodnya-so-skidkoy?mid=20162856&hl=postgrespro#20162856

и ещё тут:
https://postgrespro.ru/education/courses

Не, не злые, просто помнится как было раньше, а так - всё объяснимо.

На представления не все могут доехать, а вот если бы они материалы в интернет выкладывали было бы неплохо
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423466
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лебедкин,
> я здесь всё прочитал ...
В их версии постгреса есть расширение hunspell_ru_ru. Можно начать с него. Словарь + настройка.
Хотя сей словарь тоже не без проблем, но их меньше, чем при использовании russian_stem
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423511
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t(w)  as(values ('нужный'),('нужен'))
select  alias, token, lexemes from t,ts_debug('russian_hunspell',t.w);

 alias | token  | lexemes  
-------+--------+----------                                                                            
 word  | нужный | {нужный}                                                                             
 word  | нужен  | {нужный}                                                                             
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423641
Oleg Bartunov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cone
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t(w)  as(values ('нужный'),('нужен'))
select  alias, token, lexemes from t,ts_debug('russian_hunspell',t.w);

 alias | token  | lexemes  
-------+--------+----------                                                                            
 word  | нужный | {нужный}                                                                             
 word  | нужен  | {нужный}                                                                             



Вот молодец, тоже хотел написать, что стеммер в поставке - это snowball и никогда на точность не претендует, равно как и hunspell, который все-таки имеет больше знаний про язык. Советую установить https://github.com/postgrespro/hunspell_dicts и установить словарь. А еще надо бы почитать документацию, там вроде как все написано, а еще есть наши презентации, например,
http://www.sai.msu.su/~megera/postgres/talks/pgconfeu-fts-2016.pdf, http://www.sai.msu.su/~megera/postgres/talks/fts_postgres_by_authors_2.pdf

Вот мой пример:

Код: plsql
1.
2.
3.
4.
5.
6.
select ts_lexize('russian_hunspell', w.a) from (values('нужен'), ('нужно')) w(a);
 ts_lexize
-----------
 {нужный}
 {нужный}
(2 rows)
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423643
Oleg Bartunov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинqwwqпропущено...

это он раньше был свободный художник

а теперь он директор -- семеро по лавкам -- ему сотрудников кормить надоть
т.ч. не будьте такими злыми, ходите на их представления, они их таки иногда дают:
http://www.sql.ru/forum/1248096/pgconf-russia-2017-segodnya-so-skidkoy?mid=20162856&hl=postgrespro#20162856

и ещё тут:
https://postgrespro.ru/education/courses

Не, не злые, просто помнится как было раньше, а так - всё объяснимо.

На представления не все могут доехать, а вот если бы они материалы в интернет выкладывали было бы неплохо

У нас все в сети лежит ! pgconf.ru 2017 только завершились, надо обработать видео, обязательно все выложим.
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39423869
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg BartunovРолг Хупинпропущено...


Не, не злые, просто помнится как было раньше, а так - всё объяснимо.

На представления не все могут доехать, а вот если бы они материалы в интернет выкладывали было бы неплохо

У нас все в сети лежит ! pgconf.ru 2017 только завершились, надо обработать видео, обязательно все выложим.

А еще пишут, что мол юзеры злые!

ждем, спасибо!

зы. Нужна степ бай степ инструкция, как настроить FTS, кроме того, что в документации, чтобы с примерами словарей, которые можно юзить и т.д. Если бы вы у себя на сайте выложили юзеры были бы благодарны!
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424163
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинOleg Bartunovпропущено...


У нас все в сети лежит ! pgconf.ru 2017 только завершились, надо обработать видео, обязательно все выложим.

А еще пишут, что мол юзеры злые!

ждем, спасибо!

зы. Нужна степ бай степ инструкция, как настроить FTS, кроме того, что в документации, чтобы с примерами словарей, которые можно юзить и т.д. Если бы вы у себя на сайте выложили юзеры были бы благодарны!

Вы не только на шею сесть хотите но еще и ножки свесить ;).

PS:
-А зарплату вы тоже за меня получать будете?
- Ага!

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424236
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно. попробую этот hanspell юзать. спасибо.
честно говоря, я думал что в постгресе из коробки все должно работать :)
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424254
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинясно. попробую этот hanspell юзать. спасибо.
честно говоря, я думал что в постгресе из коробки все должно работать :)

Словари это вообще не часть базы никаким боком.
Равно как и локали например.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424284
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukРолг Хупинпропущено...


А еще пишут, что мол юзеры злые!

ждем, спасибо!

зы. Нужна степ бай степ инструкция, как настроить FTS, кроме того, что в документации, чтобы с примерами словарей, которые можно юзить и т.д. Если бы вы у себя на сайте выложили юзеры были бы благодарны!

Вы не только на шею сесть хотите но еще и ножки свесить ;).

PS:
зарплату вы тоже за меня получать будете?
- Ага!

--
Maxim Boguk
www.postgresql-consulting.ru

Это же форум, тут речь про шею и ноги не идет, как и про зарплату. Здесь юзеры добровольно задают вопросы и отвечают на них.
Ну, вот...
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424300
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставил hanspell, проверил слово "нужный" - слало работать правильней. но вообще то, поразмыслив, я все формы этого слова уже в стоп-слова внес.

вот другой пример: слова "чистить" и "очищать". я считаю что по смыслу это одно и то же слово, но словарь так не считает. как теперь правильно сделать чтобы эти слова искались вместе? добавлять синонимы?
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424307
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинпоставил hanspell, проверил слово "нужный" - слало работать правильней. но вообще то, поразмыслив, я все формы этого слова уже в стоп-слова внес.

вот другой пример: слова "чистить" и "очищать". я считаю что по смыслу это одно и то же слово, но словарь так не считает. как теперь правильно сделать чтобы эти слова искались вместе? добавлять синонимы?

вам бы поумерить свои фантазии, иначе не остановитесь, относитесь формально к словарям
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424317
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
мне просто нужен поиск по текстам нормального качества. я специально для этого postgres поставил, вот теперь пытаюсь разобраться по каким принципам это настраивается и работает...
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424352
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukСловари это вообще не часть базы никаким боком.
Равно как и локали например.

кхм, например

кого за варчарпаттернопсы пороть будем ? директора ? (масяни, молчать!)
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39424587
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лебедкинвот другой пример: слова "чистить" и "очищать". я считаю что по смыслу это одно и то же слово, но словарь так не считает. как теперь правильно сделать чтобы эти слова искались вместе? добавлять синонимы?
Одно и тоже по смыслу, а словарь пытается работать со словоформами. Т.е. синонимы.
Не переделывать же словарь.
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39425269
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cone,

ага, догадался уже что в этом случае только синонимами можно разрулить.
а оно умеет извлекать корни слова? (в данном случае это "чист" и "чищ" )
или синонимы ко всем словоформам надо прописывать?
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39425935
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лебедкин,

Не пробовал. У нас реализовывал через ts_rewrite и таблицу подстановок.
Мои соображения:
Если верить доке словари просматриваются ПОСЛЕДОВАТЕЛЬНО, пока какой-нибудь из них не признает слово.
Другими словами: либо синоним либо нормализованное слово, в зависимости от того, кто прописан первым.
Т.е. все словоформы, как это не печально((. И в качестве замены указывать нормальную форму.
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39426619
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я правильно понял, что словарь синонимов всегда должен стоять первым?
Потому что, если его поставить после словаря, возвращающего нормальную форму, то дело до проверки синонимов не дойдет, т.к. система будет думать окончательная форма слова была найдена на предыдущем шаге.
Или такое поведение можно изменить?
...
Рейтинг: 0 / 0
добавить стоп-слова для полнотекстового поиска.
    #39427710
cone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> я правильно понял, что словарь синонимов всегда должен стоять первым?
Получается, что да, синонимы должны быть впереди.
В доке еще говорится, про "фильтрующие словари". Я не нашёл, что это такое и как ими пользоваться.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / добавить стоп-слова для полнотекстового поиска.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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