SQL Server中的全文搜索

时间:2017-07-30 18:34:41

标签: sql sql-server

我正在尝试在我的网站上创建一个简单的搜索页面,但发现很难让全文搜索工作,因为我希望它可以用来表达。

搜索示例:

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的很大一部分,但似乎没有像简单的用法一样好用。

我已经关闭了我的停止列表,因此显示了数字和单个字符的结果,但它似乎不适用于我正在做的事情,这看起来很基本。

2 个答案:

答案 0 :(得分:0)

选择 * 来自电影 哪里 名称('%Movie%') 或名称('%2%') ;

答案 1 :(得分:0)

select * from Movies where freetext(Name, ' "Movie*" or "2*" ')