我正在尝试在我的网站上创建一个简单的搜索页面,但发现很难让全文搜索工作,因为我希望它可以用来表达。
搜索示例:
public function index()
{
$category = Category::pluck('categoryName', 'id');
$brand = Brand::pluck('brandName', 'id');
return view ( 'site.indexS',compact('brand','category') );
}
示例数据:
select *
from Movies
where contains(Name, '"Movie*" and "2*"')
像Id Name
------------------
1 MyMovie
2 MyMovie Part 2
3 MyMovie Part 3
4 MyMovie X2
5 Other Movie
这样的搜索没有返回任何结果,因为该术语处于工作的中间。
像"movie*"
这样的搜索只返回MyMovie Part 2而不是MyMovie Part X2
似乎我可以将一个动态的SQL查询混合在一起
"MyMovie*" and "2*"
它会比全文搜索更好用,因为它是SQL的很大一部分,但似乎没有像简单的用法一样好用。
我已经关闭了我的停止列表,因此显示了数字和单个字符的结果,但它似乎不适用于我正在做的事情,这看起来很基本。
答案 0 :(得分:0)
选择 * 来自电影 哪里 名称('%Movie%') 或名称('%2%') ;
答案 1 :(得分:0)
select * from Movies where freetext(Name, ' "Movie*" or "2*" ')