может содержать вариативное количество полей. Хочу организовать поиск по всем полям так, что если какая-то часть текста встречается в любом из полей, то документ находился.
Я сделал текстовый индекс по всем полям для того, чтобы поиск по тексту заработал, но вот так работает db.device.find( { $text: { $search: "ABCDEF"} } ), а вот так уже нет db.device.find( { $text: { $search: "ABCD"} } ), потому что ABCDEF встречается как отдельное слово, а ABCD - это только часть слова.
В общем можно ли средствами MongoDB сделать так, чтобы второй вариант поиска заработал?
А если нельзя, то как обычно решают такого рода задачи?
$search не поддерживает совпадение по перфиксу или вхождению. Обычно никак не решают. Поиск в монге совсем базовый, если нужны какие-то специфические фичи, то надежнее использовать подходящий инструмент
Обсуждают сегодня