Как мне искать эмодзи с помощью текстового поиска в MongoDB - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь найти эмодзи в индексированной коллекции текста, но она не может с этим справиться.

Когда я ищу термин «рак»

db.getCollection('my_collection').find( { "$text" : { "$search" : "capricorn" } } )

Первый документ, который я получаю, -

enter image description here

Но когда я хочу игнорировать документы со смайликами ☾ (которые вы видите на первом прикрепленном изображении), используйте следующий запрос

db.getCollection('my_collection').find( { "$text" : { "$search" : "capricorn -☾" } } )

Тем не менее возвращает тот же документ, что и раньше.

Мое чувство смелости (в чем я совсем не уверен) заключается в том, что индексированное поле поиска обрабатывается за сценой (фильтрация слов прекращается, возможно, происходит ...) и, возможно, отфильтровывает смайлики.

Итак, в конце мой вопрос: если есть шаг обработки для текстового индекса, как бы я изменил его, чтобы сохранить эмодзи. Если для текстового индекса нет шага обработки, что мне не хватает в моем запросе?

...