powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / добавить стоп-слова для полнотекстового поиска.
25 сообщений из 28, страница 1 из 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
25 сообщений из 28, страница 1 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / добавить стоп-слова для полнотекстового поиска.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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