有一個request使SO搜索默認爲一個AND樣式功能超過當前OR或多個條款時使用。您可以使用SQL Server 2005上的FREETEXT()執行AND關鍵字搜索嗎?
官方的迴應是:
並不簡單,因爲它的聲音;我們使用SQL Server 2005的FREETEXT()函數,並且我找不到指定AND與OR的方法 - 可以嗎?
那麼,有沒有辦法?我可以找到一個number of resources,但我不是專家。
有一個request使SO搜索默認爲一個AND樣式功能超過當前OR或多個條款時使用。您可以使用SQL Server 2005上的FREETEXT()執行AND關鍵字搜索嗎?
官方的迴應是:
並不簡單,因爲它的聲音;我們使用SQL Server 2005的FREETEXT()函數,並且我找不到指定AND與OR的方法 - 可以嗎?
那麼,有沒有辦法?我可以找到一個number of resources,但我不是專家。
好的,這種變化是在 - 我們現在使用CONTAINS()
隱含的AND
而不是FREETEXT()
及其隱含的OR
。
據我所見,它是而不是可能做和當在SQL 2005(或2008,afaik)下使用FREETEXT()。
FREETEXT查詢忽略布爾,鄰近和通配符運算符的設計。然而,你可以這樣做:
WHERE FREETEXT('You gotta love MS-SQL') > 0
AND FREETEXT('You gotta love MySQL too...') > 0
或者說,就是我認爲:)
- 我們的想法是讓計算結果爲布爾值,因此您可以使用布爾運算符。不知道這是否會導致錯誤。我認爲應該工作。但參考資料指出這是不可能的設計。
使用CONTAINS()而不是FREETEXT()可以提供幫助。
我剛開始閱讀有關自由文本,所以忍受着我。如果你試圖做的是允許搜索標籤,比方說VB,還可以找到標籤爲VB6,Visual Basic,VisualBasic和VB.Net的東西,那麼這些值不會被設置爲DB的同義詞庫中的同義詞而不是查詢參數?
如果的確如此,這link on MSDN解釋如何將項目添加到同義詞庫。
答案[over here](http://www.eggheadcafe.com/software/aspnet/32492834/freetext-and-or.aspx)聲稱這是不可能的。 – 2008-08-24 19:11:58