Искать полный текст в MongoDB и Laravel - PullRequest
0 голосов
/ 30 августа 2018

Я хочу сделать полнотекстовый поиск в базе данных Монго. Это мой код в Сервисе

 public function search(array $params = [])
    {
        $search_query = $this->getFromArr($params, 'search_query');
        $limit = $this->getFromArr($params, 'limit');
        $videoList = $this->videos->findByPhase($search_query, $limit);
        return $videoList;
    }

Этот метод в репозитории

public function findByPhase($phase, $limit)
{
    return $this->model->whereRaw(['$text' => ['$search' => $phase]])->paginate(intval($limit));
}

Это индекс в коллекции Видео на моей БД

> db.videos.getIndexes()
[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "vod_app.videos"
    },
    {
        "v" : 2,
        "key" : {
            "_fts" : "text",
            "_ftsx" : 1
        },
        "name" : "recipe_full_text",
        "weights" : {
            "description" : 12,
            "title" : 32
        },
        "ns" : "vod_app.videos",
        "default_language" : "english",
        "language_override" : "language",
        "textIndexVersion" : 3
    }
]

В результате при поиске я нахожу объекты по полям, но не могу сделать это как "Мне нравится" в mysql

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