你能在SQL Server 2005上使用FREETEXT()对关键字进行AND搜索吗?
-
09-06-2019 - |
题
有一个请求,以使SO搜索默认为AND当使用多个术语时,当前OR上的样式功能。
官方回应是:
不像听起来那么简单;我们使用SQL Server 2005的 FREETEXT()功能,我找不到指定AND与OR的方法 - 你可以吗?
那么,有办法吗?
资源数量我可以找到,但我不是专家。
解决方案
好的,这个改变在 - 我们现在使用 CONTAINS()
与隐式 AND
而不是 FREETEXT()
及其隐式<代码> OR 代码>
其他提示
据我所知,在SQL 2005(2008年,afaik)下使用FREETEXT()时,不可以做AND。
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的同义词库中设置为同义词而不是查询参数?
如果确实如此,请在MSDN上链接解释了如何将项目添加到同义词库。
不隶属于 StackOverflow