powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Полнотекстовый поиск и буква "Ё"
19 сообщений из 19, страница 1 из 1
Полнотекстовый поиск и буква "Ё"
    #35748422
Самоловских Виталий aka Kefir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полнотекстовый поиск различает букву Ё, например слова "Ёж" и "Еж" нерелевантны. Используем самую простую тупую стандартную конфигурацию для русского языка.

Вопрос: Как сделать так чтобы постгрес не различал буквы "е" и "ё"?

Наверняка ж кто-то делал...
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35748465
iz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iz
Гость
Рекомендуется подготавливать текст перед индексацией (т.е. сохранением в базу) специальной функцией, которая, среди прочего, заменяет "ё" на "е".
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35748542
DAISER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, вообще "тупо" заменять "ё" на "е" — это не совсем корректно. "Осел" — "осёл", "все" — "всё" и т.д. Буква "ё" как раз и употребляется тогда, когда могут быть разночтения.
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35748597
Самоловских Виталий aka Kefir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
izРекомендуется подготавливать текст перед индексацией (т.е. сохранением в базу) специальной функцией, которая, среди прочего, заменяет "ё" на "е".
В принципе, вариант. У меня есть специальное индексное поле (все по тьютору :)), можно при его обновлении от ё избавляться и в запросах тоже.

Я просто подумал, мож у кого есть конфигурация, которая работает с "Ё".

[quot]Ну, вообще "тупо" заменять "ё" на "е" — это не совсем корректно. "Осел" — "осёл", "все" — "всё" и т.д. Буква "ё" как раз и употребляется тогда, когда могут быть разночтения.[/quot]
Значит надо заменять умно, меня "Ёжики" беспокоят, собсно на "Ёжиках" мы и заметили.
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35756972
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAISERНу, вообще "тупо" заменять "ё" на "е" — это не совсем корректно. "Осел" — "осёл", "все" — "всё" и т.д. Буква "ё" как раз и употребляется тогда, когда могут быть разночтения.
А если так: перед поиском изменять условия: если есть слова с "ё", искать оба варианта: вместо "ёжики" искать ("ёжики" or "ежики")
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35758604
Самоловских Виталий aka Kefir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я подозреваю, что самым корректным будет замена "ё" на "е" перед индексированием текста. И тоже самое в запросе.
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35758605
Самоловских Виталий aka Kefir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А главное замена "ё" на "е" сократит размер индекса.
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35758642
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самоловских Виталий aka Kefir пишет:

> Вопрос: Как сделать так чтобы постгрес не различал буквы "е" и "ё"?

Т.е. перефразируя можно сказать: "Как мне сделать самому себе плохо ?"

Почему, интересно, вы не хотите, чтобы постгрес не различал А и Я ?
Они гораздо ближе друг к другу, чем "е" и "ё".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35759321
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ подозреваю, что самым корректным будет замена "ё" на "е" перед индексированием текста.Это зависит от того что Вы делаете, что у Вас за система, как и для чего она используется, как и для чего используется в ней поиск.
Вообще - это самое НЕ корректное, что можно придумать, это приведёт к ложным результатам поиска и подходит только если Вы и Ваши пользователи готовы с этим мириться (с лишними результатами в поиске).

по правилам, в обычном печатном тексте писать Ё не обязательно, поэтому для корректной поддержки Ё Вам нужно сделать две вещи:
1. Словарь всех слов и обработку словоформ с буквой Ё, что бы можно было добавлять альтернативы в поисковый запрос (Ёжики or Ежики)
2. Искусственный интеллект, который будет понимать смысл фразы перед индексированием (см примеры DAISER ) типа: "Этот человек - осел, причём давно." Ваш ИИ должен разобраться что тут имелось ввиду, Осёл, дурак или Осел, сидит и соответственно - нужно ли эту фразу выдавать в результате поиска по Осёл или по Осел. Дополнительно к ИИ Вам нужен телепатический интерфейс с пользователем, что бы он мог понять, какое слово имел ввиду пользователь вводя при поиске например "Осел", он опустил тут точки над Ё или же имел ввиду "сел".

Это вариант А.

Есть ещё другой вариант, Б - "9 июля 2007 года российский министр культуры А. С. Соколов в интервью радиостанции «Маяк» высказался за использование буквы «ё» в письменной речи"
я лично полностью согласен с министром :) тогда ваши Ежики - это просто неправильно написанное слово, с орфографической ошибкой.
Тогда Ваша проблема превращается в проблему поиска неправильно написанных слов, для её решения можно попробовать использовать модуль триграмм. он позволяет искать "похожие" слова с использованием индекса (правда пока он не работает для кодировки utf-8)


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35759902
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш пишет:

> по правилам, в обычном печатном тексте писать Ё не обязательно, поэтому
> для корректной поддержки Ё Вам нужно сделать две вещи:

Это где вы такие правила нашли ?
Это в сов. время экономили на шрифтах, лишнюю букву чтобы не отливать,
вот и пошла мода. Но сейчас другие технологии, другие подходы,
и сейчас на Ё экономить смысла нет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35759952
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто где вы такие правила нашли ?незнаю, где-то слышал %) да и в википедии написано что "не обязательна".
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35760714
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш пишет:

> незнаю, где-то слышал %) да и в википедии написано что "не обязательна".
Википедия - надпись на заборе.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35761048
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://gramota.ru/spravka/buro/search_answer/?s=%E1%F3%EA%E2%E0+%A8
http://www.gramota.ru/biblio/magazines/nauka_i_zhizn/28_618
http://otvety.google.ru/otvety/thread?tid=101fba0d6b6bd702
http://www.stihi.ru/2007/06/01-360

авторIV. Буква Ё
§ 10. Буква ё пишется в следующих случаях:
1. Когда необходимо предупредить неверное чтение и понимание слова, например: узнаём в отличие от узнаем; всё в отличие от все; вёдро в отличие от ведро; совершённый (причастие) в отличие от совершенный (прилагательное).
2. Когда надо указать произношение малоизвестного слова, например: река Олёкма.
3. В cпециальных текстах: букварях, школьных учебниках русского языкa, учебниках орфоэпии и т. п., а также в словарях для указания места ударения и правильного произношения.
Примечание. В иноязычных словах в начале слов и после гласных вместо буквы ё пишется йо, например: йод, йот, район, майор.это цитата из "Правила русской орфографии и пунктуации" от 1956 года, которые действуют и сейчас. то есть - Ё обязательно пишется только в перечисленных выше случаях, правильно ? не может же быть что gramota.ru это тоже "надпись на заборе."... всё указывает на то что они цитируют официальные правила и ими руководствуются. в том числе - совпадение данных из разных источников (gramota stihi google).

Дополнительно к этому минобразования приняло пояснение в 2007 году:
авторМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
(Минобрнауки России)

ул. Тверская, д.11, г. Москва, ГСП-3, 125993
Тел.: 629-70-62, факс: 629-08-91
E-mail: info@mon.gov.ru
03 мая 2007 г. № АФ-159/03

Рассылается в:

Федеральные органы
исполнительной власти
(по списку)

Администрации субъектов
Российской Федерации


О решениях Межведомственной комиссии по русскому языку

В соответствии с решениями Межведомственной комиссии по русскому языку, принятыми на выездном заседании в г. Иваново (протокол от 13 апреля 2007 г. № 6), направляю рекомендации по употреблению при написании имён собственных буквы ё.
. . .
Около 3 % граждан Российской Федерации имеют фамилии, имена или отчества, в которых содержится буква Ё, и нередко запись в паспорте оказывается искажённой. Причиной этого является несоблюдение установленного утверждёнными в 1956 году Правилами русской орфографии и пунктуации требования обязательно использовать букву Ё в случаях, когда возможно неправильное прочтение слова. Имена собственные (фамилии, имена, отчества, географические названия, названия организаций и предприятий) как раз и относятся к этому случаю. Поэтому применение буквы Ё в именах собственных должно быть бесспорным и обязательным.
. . .
то есть только про имена собственные, про обязательное употребление Ё в остальных случаях там не написано - соответственно остаётся как было с 1956 года, только три пункта где Ё пишется.

ps: я лично во избежании проблем стараюсь использовать Ё во всех базах везде и всегда, но текущие правила языка, насколько я понимаю вышеизложенное, этого к сожалению не требуют... а есть ещё например КЛАДР, где есть улицы "Молодёжная" и "Молодежная"...

хотя... базу данных наверное можно подвести под пункт 1 (Когда необходимо предупредить неверное чтение и понимание слова), типа "компьютер же может неправильно понять слово, поэтому при общении с ним следует писать везде Ё" или словарь слов для поиска - под пункт 3 (В cпециальных текстах ... в словарях ...). MasterZiv , Вы это имели ввиду ?


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #35761410
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш пишет:

> следует писать везде Ё" или словарь слов для поиска - под пункт 3 (В
> cпециальных текстах ... в словарях ...). *MasterZiv*, Вы это имели ввиду ?

Да я вообще имею в виду, что в базе данных (да и вообще везде сейчас)
нет смысла не писать букву Ё.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Полнотекстовый поиск и буква "Ё"
    #38614950
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за некропост, но проблема та же. Красивого решения не нашёл. COLLATE это умеет? Где описано?

Хотелось бы делать полнотекстовый поиск не различая Е и Ё. А ещё может JOIN с тем же свойством.
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #38640248
rostya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Weed, есть такое:
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #38640251
rostya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Полнотекстовый поиск и буква "Ё"
    #38640668
Weed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rostyaИзвиняюсь, http://www.postgresql.org/docs/9.1/static/unaccent.html

Спасибо, очень пригодится нам вскорости!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Полнотекстовый поиск и буква "Ё"
    #39667708
Мамбрин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самоловских Виталий aka Kefir,
setweight(replace(to_tsvector('ru', 'трехколёсный')::text,'ё','е')::tsvector,'A')
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Полнотекстовый поиск и буква "Ё"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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