2008-08-24 65 views
3

有一個request使SO搜索默認爲一個AND樣式功能超過當前OR或多個條款時使用。您可以使用SQL Server 2005上的FREETEXT()執行AND關鍵字搜索嗎?

官方的迴應是:

並不簡單,因爲它的聲音;我們使用SQL Server 2005的FREETEXT()函數,並且我找不到指定AND與OR的方法 - 可以嗎?

那麼,有沒有辦法?我可以找到一個number of resources,但我不是專家。

+0

答案[over here](http://www.eggheadcafe.com/software/aspnet/32492834/freetext-and-or.aspx)聲稱這是不可能的。 – 2008-08-24 19:11:58

回答

1

好的,這種變化是在 - 我們現在使用CONTAINS()隱含的AND而不是FREETEXT()及其隱含的OR

2

據我所見,它是而不是可能做和當在SQL 2005(或2008,afaik)下使用FREETEXT()。

FREETEXT查詢忽略布爾,鄰近和通配符運算符的設計。然而,你可以這樣做:

WHERE FREETEXT('You gotta love MS-SQL') > 0 
AND FREETEXT('You gotta love MySQL too...') > 0 

或者說,就是我認爲:)

- 我們的想法是讓計算結果爲布爾值,因此您可以使用布爾運算符。不知道這是否會導致錯誤。我認爲應該工作。但參考資料指出這是不可能的設計。

使用CONTAINS()而不是FREETEXT()可以提供幫助。

1

我剛開始閱讀有關自由文本,所以忍受着我。如果你試圖做的是允許搜索標籤,比方說VB,還可以找到標籤爲VB6,Visual Basic,VisualBasic和VB.Net的東西,那麼這些值不會被設置爲DB的同義詞庫中的同義詞而不是查詢參數?

如果的確如此,這link on MSDN解釋如何將項目添加到同義詞庫。

相關問題