有一个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