Поиск в mongodb по нескольким ключам

105
07 февраля 2021, 17:50

Подскажите, как на PHP выполнить запрос к MongoDB на поиск строки по нескольким ключам?

Документы имеют следующие ключи: subject, content, ticket, from

Важно, чтобы искалось не по полному совпадению, но и по частичному. Например, вводим запрос "ello" и нужно произвести поиск по всем указанным ключам. Результат: документы, в которых есть "hello", "HelloWorld", "ello".

Я пробовал так:

$filter = [
            'content' => new \MongoDB\BSON\Regex('/^'.$str.'/', 'i')
        ];
        $search_mail = $mongo_db->mail->find($filter);

Но здесь поиск идет только по 1 ключу и очень медленно... (120 тыс. документов, время поиска около 4 секунд).

READ ALSO
Как правильно задать Stream API collect

Как правильно задать Stream API collect

Допустим есть коллекция collection из объектов некоторого класса

115
Сортировка List<String> по числам

Сортировка List<String> по числам

Подскажите пожалуйста, вот есть список в

121
Не понимаю как создать ссылку на следующий handler, которые лежать в списке handlers

Не понимаю как создать ссылку на следующий handler, которые лежать в списке handlers

У меня учебный проект на Spring MVC и я пытаюсь применить паттерн Chain of responsibilityСоздал пакет handler в котором есть интерфейс Handler

112