在Laravel中使用MongoDB进行多属性全文搜索

时间:2016-02-24 10:07:59

标签: php mongodb laravel-5.1

我正在使用带有laravel的MongoDb。

以下是我的用户集合示例json数据

{
    "_id" : "52dfcd17daf02a2e6cb396c7",
    "email" : "nikhil@gmail.com",
    "name" : "Nikhil"
}
{
    "_id" : "52e0f9a2daf02ac908064f68",
    "email" : Michael@gmail.com,
    "name" : "Michael"
}

我在集合中为2列创建了索引,这是名称&电子邮件。 (电子邮件可以为空)

db.users.ensureIndex({'email':'text', 'name': 'text'})

当我搜索姓名时,我会获得确切的搜索数据,但是当我搜索确切的电子邮件ID时,它会提供所有记录。

这是我的代码

$users = Users::whereRaw(['$text' => ['$search' => 'Michael@gmail.com']])->paginate(20);

return response()->view('users.view',
[
      'users' => $users,
      'title' => 'Search results for your query: ' . $query
]);

0 个答案:

没有答案
相关问题