Добрый день У нас есть Android разработчик на проекте. Пишет на

Kotlin. Поставили ему задачу реализовать full - text search среди записей MongoDB Realm с игнорированием заглавных и строчных буков
Он реализовал, но говорит, что невозможно сделать игнорирование для русского языка. Это работает только для английского языка
Можете подсказать, на сколько это корректная информация от него?

19 ответов

10 просмотров

https://www.mongodb.com/docs/manual/reference/operator/query/text/#mongodb-query-op.-text

Sanya-Prorok Автор вопроса
fλüggåɘnk∂€čhiœßøλ∫ên
https://www.mongodb.com/docs/manual/reference/oper...

У нас приложение завязано на Sync с MongoDB Atals и MongoDB Realm. Это не совсем то, что нужно, на сколько я понимаю (могу ошибаться)

Как он реализовал можете спалить? Просто интересно какое решение прлучилось

звучит как пиздёжь

Sanya-Prorok Автор вопроса
Nick
Как он реализовал можете спалить? Просто интересно...

Вот что у него в коде. Кириллица у него не работает с case-insensetive. Говорит, что реализовать никак нельзя в MongoDB Realm, только через костыли (либо напрямую работа с MongoDB)

Вам нужен индекс с соответствующей collation. https://www.mongodb.com/docs/manual/core/index-text/#case-insensitivity

Sanya-Prorok Автор вопроса
yopp 💉💉
Вам нужен индекс с соответствующей collation. ht...

Это решение для MongoDB Realm + Котлина? Разве не для MongoDB просто часом?

Sanya Prorok
Это решение для MongoDB Realm + Котлина? Разве не ...

да это именно в самой монге. В вашем случае самым простым вариантом будет сделать рядом поле title_ru_low и туда сохранять строку в low case и с ней уже обычным поиском

Sanya-Prorok Автор вопроса
Nick
да это именно в самой монге. В вашем случае самым ...

Это костыль выходит :( Может же в тексте быть с большой буквой в начале. В таком случае не найдёт пост нужный

Sanya-Prorok Автор вопроса
Nick
с моей точки зрения - реалм костыль)

Он подкупил нас бесплатным full text search 😅

Sanya Prorok
Он подкупил нас бесплатным full text search 😅

а можно ссылочку где это написано и возможности этого самого fts?

Sanya-Prorok Автор вопроса
Nick
а можно ссылочку где это написано и возможности эт...

Возможно я неправильно выразился. Используем для поиска filter / where в MongoDB Realm. Так как мы используем связку MongoDB Atlas + Sync в MongoDB Realm, то он для нас выступает в роли full - text search https://www.mongodb.com/docs/realm/sdk/swift/examples/filter-data/

Sanya Prorok
Возможно я неправильно выразился. Используем для п...

вот, а fts там особо то и не заявлен, а только поиск по подстроке да еще и явно указано что только для latin https://www.mongodb.com/docs/realm/sdk/java/api/io/realm/RealmQuery/#std-label-io_realm_RealmQuery_contains

Sanya-Prorok Автор вопроса
Nick
вот, а fts там особо то и не заявлен, а только пои...

Забавно вышло, что мы использовали монгу только из - за этого. На IOS все отлично работает с русским языком, а вот андроид подкачал нас

Sanya Prorok
Забавно вышло, что мы использовали монгу только из...

в сфите так то тоже в доке по вашей ссылке указано что только латиница для case-insensitive: https://www.mongodb.com/docs/realm/sdk/swift/examples/filter-data/#string-operators в реальности получается поддерживается?

Sanya-Prorok Автор вопроса
Nick
в сфите так то тоже в доке по вашей ссылке указано...

Да Но там же NSPredicate можно использовать в IOS. Возможно из - за этого ищет адекватно на русском

Sanya Prorok
screenshot Да Но там же NSPredicate можно использовать в IOS....

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

Sanya Prorok
Забавно вышло, что мы использовали монгу только из...

Смотрите Sync Schema возможно для swift kotlin есть различия. Все должно работать одинаково. Или collection разные. Поверьте index

Похожие вопросы

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
14
Здравствуйте, а хорошая ли идея смешивать нейронки? То есть, у нейронки задача щелкнуть 1 раз, но есть датасет с одним типом картинок и с другим. Хотелось бы сделать универсал...
Никита
5
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
ребят, привет есть ли возможность мигрировать Policies + Auth Methods из нескольких Vault в один? пытаюсь сократить Vault кластера, немного не удобно что для каждой тестовой ...
azadevlab
2
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
Всем привет. Кто подскажет, как сделать авто обновление стороннего модуля при запуске контейнера. Мб есть команда при запуске контенера или в докер файле нужно приписать настр...
Trum_t Malyuzhenets
1
Всем привет. Есть задача понимать пустая ли пластина 3д принтера (не в печатающем режиме). Из идей просто сравнивать 2 изображения (эталонное) и текущее, по контурам. Но боюсь...
Nikita Radionov
5
Карта сайта