[英]Fulltext search in SQL Server
我試圖在我的網站上創建一個簡單的搜索頁面,但發現很難像我期望的那樣進行全文搜索。
示例搜索:
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*" and "2*"
這樣的搜索只返回 MyMovie Part 2 而不是 MyMovie Part X2
似乎我可以拼湊一個動態 SQL 查詢,它只會and name like '%movie%' and name like '%x2%'
,它會比全文搜索更好用,因為它是 SQL 的很大一部分,所以看起來很奇怪但似乎不如簡單的用法那么好。
我已經關閉了我的停用列表,因此出現了數字和單個字符結果,但它似乎並不適合我正在做的事情,這看起來很基本。
從名稱如 ('%Movie%') 或名稱如 ('%2%') 的電影中選擇 *;
select * from Movies where freetext(Name, ' "Movie*" or "2*" ')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.