powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Добавление индексов
13 сообщений из 38, страница 2 из 2
Добавление индексов
    #40095888
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus

Как обстоят дела в ElasticSearch с контекстным поиском на русском языке?

Вы знаете ответ?

Я отвечу так. Я использовал ElasticSearch для поиска в логах сведений об ошибках.
Разумеется логи - англоязычные. Поддерживает ли конкретно ElasticSearch русский я не знаю.
Но по стеку технологий. Эластик использует Apache Lucene а тот в свою очередь имеет модули
поддержки русского языка. Есть алгоритмы стемминга.

По поводу как "обстоят дела" - я не могу ответить. Это слишком размытый вопрос. Это
вопрос требующий глубокого погружения в область. У меня нет столько времени.

Если у вас есть сведенья о дефекте ElasticSearch - то прошу вас эти сведенья предоставить.

Подача намёков на дефект, согласитесь выглядит как легкий троллинг.
...
Рейтинг: 0 / 0
Добавление индексов
    #40096141
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
SQL*Plus

Как обстоят дела в ElasticSearch с контекстным поиском на русском языке?

Вы знаете ответ?

Я отвечу так. Я использовал ElasticSearch для поиска в логах сведений об ошибках.
Разумеется логи - англоязычные. Поддерживает ли конкретно ElasticSearch русский я не знаю.
Но по стеку технологий. Эластик использует Apache Lucene а тот в свою очередь имеет модули
поддержки русского языка. Есть алгоритмы стемминга.

По поводу как "обстоят дела" - я не могу ответить. Это слишком размытый вопрос. Это
вопрос требующий глубокого погружения в область. У меня нет столько времени.

Если у вас есть сведенья о дефекте ElasticSearch - то прошу вас эти сведенья предоставить.

Подача намёков на дефект, согласитесь выглядит как легкий троллинг.

Я вообще не знаю, что такое ElasticSearch.

Но я знаю, что у многих (большинства?) заграничных программных продуктов
есть проблемы лексической обработки информации на русском языке. (Они есть и у Oracle Context без RCO)
Поэтому я спрашиваю: корректно ли обрабатывает ElasticSearch русскоязычную информацию?
...
Рейтинг: 0 / 0
Добавление индексов
    #40096557
SQL*Plus, а ты "русскоязычную информацию" в транслит засунь
...
Рейтинг: 0 / 0
Добавление индексов
    #40096575
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
SQL*Plus, а ты "русскоязычную информацию" в транслит засунь

И чем это поможет?

[spoiler] Товарищ не понимает
YouTube Video
...
Рейтинг: 0 / 0
Добавление индексов
    #40096576
SQL*Plus, во1, будет занимать в 2 раза меньше пространства
а во2, будет искать быстрее и без проблем с кириллицей
...
Рейтинг: 0 / 0
Добавление индексов
    #40096585
точнее пространства надо будет больше, потому что будет основной текст + транслит
но не сильно больше, потому что транслит займёт только горячие кеи
...
Рейтинг: 0 / 0
Добавление индексов
    #40096708
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищ бабушкин зайчик, вы понимаете о чём идет речь?
Догадываетесь, что такое "поиск с учетом словоформ"?
Или так просто прикалываетесь s etim samym translitom?
...
Рейтинг: 0 / 0
Добавление индексов
    #40096714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
SQL*Plus, а ты "русскоязычную информацию" в транслит засунь

Нет. Это так не работает. Обычно текстовый поиск индексирует токены. Это ключи которые
покрывают отражают документ и по которым впоследствии строится формула рейта. Тоесть
насколько близок документ к искомому поисковому выражению.

Токены для разных языков получаются по разному. Для русского языка обычно используется
алгоритм 1) отбрасывания стоп-слов. 2) Стемминга, тоесть свёртки всех падежей и склонений
к основе. Apache Lucene (engine для Elastic) под капотом использует алгоритм SnowBall для стеммингования русских
слов. SnowBall последовательно отсекают суффиксы и окончания от слова до тех пор пока оно не достигнет
некого устойчивого состояния. И эта основа - идет в индекс как ключ.

Отдельно также идет алгоритм лемматизации. Правда я не знаю используется ли лемматизация в Elastic.
Также нет точной информации подключается ли модуль русского языка в Elastic. Это надо смотреть в настройках
Elastic.

Для каждого языка или группы языков - существует в открытых исходниках своя реализация преобразования
документа в токены.

Все прочие алгоритмы упрощения текстового поиска - идут обычно от незнания. Люди которые не разбираются
в текстовом поиске часто представляют себе задачу по другому. Или представляют себе что текстовый поиск
это просто очередная разновидность grep или не дай бох B+Tree индекса в БД.

Поэтому сама по себе идея замены русских букв на транслитерацию ничего хорошего на дает для текстового
поиска а лишь ухудшает селективность результата.
...
Рейтинг: 0 / 0
Добавление индексов
    #40096715
я не прикалываюсь.
что с того что морфологический поиск?
там точно также будут разные окончания, которые можно отбросить и искать по словам во фразах
возможно в эластике надо словарик создавать, но возможно кто-то уже додумался
...
Рейтинг: 0 / 0
Добавление индексов
    #40096716
mayton, так то можно сначала отбросить окончания, а потом сделать транслитерацию
но оно и сразу должно сработать в эластике
...
Рейтинг: 0 / 0
Добавление индексов
    #40096724
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-же говорю - селективность упадет. Как ты будешь различать русское "море" и английское "more" ?
...
Рейтинг: 0 / 0
Добавление индексов
    #40096770
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot mayton#22370394]
бабушкин зайчик
Токены для разных языков получаются по разному.
Для русского языка обычно используется
алгоритм 1) отбрасывания стоп-слов. 2) Стемминга, то есть свёртки всех падежей и склонений
к основе. Apache Lucene (engine для Elastic) под капотом использует алгоритм SnowBall для стеммингования русских
слов.
SnowBall последовательно отсекают суффиксы и окончания от слова до тех пор пока оно не достигнет
некого устойчивого состояния.
И эта основа - идет в индекс как ключ.

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

Классические примеры:
Ходить, иду, шёл, прошёл.

+ разные значения одного слова
Посол (человек), посла, послом, послы.
Посол (засолка чего-либо), посола, посолом, посолы.
Правда тут они приводятся к единому токену "посол"

Короче, нужен помощник (дополнительный модуль) по местному языку, чтобы все работало правильно.
...
Рейтинг: 0 / 0
Добавление индексов
    #40096824
mayton
Я-же говорю - селективность упадет. Как ты будешь различать русское "море" и английское "more" ?

ну желатально не смешивать
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Добавление индексов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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