有一个请求,以使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上链接解释了如何将项目添加到同义词库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top