2010-10-29 84 views
1

我試圖在SQL Server 2008中使用名爲「Business」的表進行全文搜索。下面是語句(搜索詞是中文)。SQL Server全文搜索不會返回所有結果

select * from Business biz where CONTAINS(biz.*,'傢俱') 

然後我使用像語句來完成同樣的

select * from Business where Name like '%傢俱%' 

全文搜索返回結果8之類的搜索返回結果9這是我所期待的。有誰知道可能會導致這種情況?

回答

1

我不知道中文,所以我不能肯定地說,但這是我最好的猜測。

SQL Server的全文搜索是基於字的,而LIKE正在查找字符串中的字符模式。以英語爲例,一個CONTAINS搜索「警告」不會找到「預先警告」一詞,但類似於'%warn%'。

+0

正如你所描述的那樣。 sql sever 2008並不是很擅長用中文進行全文搜索。我將我的全文引擎更改爲lucene.net,它完美的工作沒有任何問題。 – wschenkai 2010-11-02 09:28:54

+0

@wschenkai:很高興聽到您找到解決方案。你願意將這個答案標記爲接受嗎? – 2010-11-02 10:03:58