2
我正嘗試在我的網站上創建一個簡單的搜索頁面,但發現很難像我期望的那樣獲得全文搜索的工作。在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第2部分,而不是MYMOVIE部分X2
好像我可以只砍在一起的動態SQL查詢,將只 and name like '%movie%' and name like '%x2%'
和它的工作比全文檢索好這似乎很奇怪因爲它是SQL的一大部分,但似乎不像簡單的用法那樣好。
我已經關閉了我的停止列表,所以數字和單個字符的結果出現,但它似乎並不適用於我正在做的事情,這似乎相當基本。
爲什麼你只是不能使用一些東西:像'%電影%2%'這樣的名字? –
@ЕвгенийКондратенко在大字段的大表上會出現可怕的表現,這就是全文索引的全部要點。 –
@ЕвгенийКондратенко找不到「part 2 mymovie」之類的東西,因爲它必須按照正確的順序排列。 – user3953989