Нечувствительный к регистру запрос с использованием индекса - PullRequest
0 голосов
/ 06 августа 2020

Я пробовал несколько способов сделать запрос без учета регистра на mon go. Мой идеальный сценарий - использовать индекс без учета регистра, который явно задокументирован здесь . Проблема в том, что мне нужен запрос, чтобы найти в коллекции значения, начинающиеся с определенной фразы c, но без учета регистра. Я обнаружил, что для этого эффективно используется регулярное выражение, но, согласно документации

, запросы регулярных выражений без учета регистра обычно не могут эффективно использовать индексы. Реализация $ regex не учитывает сопоставление и не может использовать индексы без учета регистра.

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

Для текстового поиска без учета регистра и c нечувствительности к диакритическим знакам оператор $ text сопоставляется со всем словом с корнем. Поэтому, если поле документа содержит слово blueberry, поиск по слову blue не будет соответствовать. Однако черника или голубика подойдут.

Есть ли способ достичь желаемой функциональности при использовании индексов или способ, которым я мог бы оптимизировать свою базу данных для достижения этого? Рассматриваемое поле представляет собой короткую строку длиной до 30 символов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...