我找不到任何使用Laravel进行实时搜索的好插件,是否存在?我找到了一些jQuery自动完成插件,但我正在寻找这样的东西:https://github.com/iranianpep/ajax-live-search
我昨天尝试实施上述内容(大约10个小时)并且由于他们使用的MySQL查询与Laravel的实现相比无法使其工作
任何想法或信息表示赞赏
我还尝试使用大型Laravel查询来接收数据(我想搜索多个列),但使用
User::where('name', 'like', $query)->orWhere('username', 'like', $query)->etc.
格式甚至不符合我的名字。是否有更先进的搜索算法?
由于
答案 0 :(得分:0)
Laravel Scout就是您的答案。
Laravel Scout提供了一个简单的基于驱动程序的解决方案,可以为您的Eloquent模型添加全文搜索。使用模型观察器,Scout会自动使您的搜索索引与您的Eloquent记录保持同步。
目前,Scout随附Algolia驱动程序;但是,编写自定义驱动程序很简单,您可以使用自己的搜索实现扩展Scout。
我个人也会推荐Algolia,因为它非常复杂,有免费的入门级别,并且比你自己想出的任何搜索都要好。
您可以在自己的后端设置排名,它会考虑搜索中的拼写错误等等。另外它是云供电的!
使用Laravel Scout,任何搜索都变得轻而易举,如:
$users = App\User::search('Chris')->get();
真的很酷:
$users = App\User::search('Chrs')->get();
两个$users
都会返回相同的结果。即使有拼写错误。
有关详细信息,请参阅官方Laravel Scout documentation。
如果您是Laracasts的成员,请查看these screencasts。即使你不是,它也很便宜,你会在Laravel Scout和现场搜索中学到很多东西!