当使用多个术语时, 请求使SO搜索默认为当前OR上的AND样式功能。

官方回应是:

并不像听起来那么简单; 我们使用SQL Server 2005的FREETEXT()函数,我找不到指定AND与OR的方法 - 可以吗?

那么,有办法吗?

我能找到很多资源 ,但我不是专家。

===============>>#1 票数:2

据我所看到的,这是不可能做到和在SQL 2005(2008年也没有,据我所知)使用FREETEXT()的时候。

FREETEXT查询按设计忽略布尔运算符,邻近运算符和通配符运算符。 但是你可以这样做:

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

或者这就是我的想法:)

- 这个想法是让它评估为布尔值,所以你可以使用布尔运算符。 不知道这是否会出错。 我认为它应该有效。 但参考资料指的是这在设计上是不可能的。

使用CONTAINS()而不是FREETEXT()可能会有所帮助。

===============>>#2 票数:1

我刚开始阅读有关自由文本的内容,请耐心等待。 如果你想要做的是允许搜索标签,比如VB,也找到标记为VB6,Visual Basic,VisualBasic和VB.Net的东西,那么这些值不会在DB的同义词库中设置为同义词而不是查询参数?

如果确实如此, MSDN上的这个链接解释了如何将项目添加到同义词库。

===============>>#3 票数:1 已采纳

好的,这个改变在 - 我们现在使用带隐式AND而不是FREETEXT() CONTAINS()及其隐式OR

  ask by Chris translate from so

未解决问题?本站智能推荐:

1回复

全文搜索(SQL Server 2005)仅在某些字段上有效

好的,这就是情况。 我在表格上启用了全文搜索,但是它仅适用于某些字段。 现在为什么以下将带来结果 而这不是(虽然两者都有带str的文本..) (我也尝试过不使用语言规范的情况-在这种情况下为希腊语)(数据库的排序规则是Greek_CI_AS)btw 会
1回复

使用关键字列和变量作为要搜索的文本来优化SQL搜索

这是我的难题。 我有一个包含一段文本的变量,并且有一列充满关键字的列。 我想针对变量中包含的整个文本搜索列中包含的每个关键字。 我知道如何执行此操作的唯一方法是一次选择该列的每一行,然后将LIKE运算符与两边的通配符一起使用,以查看是否在该列中的文本中的任何位置都找到了该列的关键字。变
3回复

Google喜欢在SQL Server中使用全文搜索进行搜索查询

我正在运行一个小型网站,我想制作像“相关链接”部分这样的功能。 为此,我创建了全文目录和索引。 到目前为止,我尝试了很多方法来创建搜索查询,其行为类似谷歌,但我会说我甚至没有接近谷歌正在做的10%。 在我的研究期间,我发现只有在查询之后才能提供良好的记录。 有没有人有很好的
1回复

SQL全文本搜索与LIKE搜索性能

我一直在互联网上搜索,发现全文搜索通常具有更好的性能。 我按照这篇文章中的说明在机器上设置了同义词库表,这样我就可以尝试使用它,并对全文本搜索更加熟悉。 我正在查看Microsoft SQL Server Management Studio 2008中的所有内容。 当我运行查询
1回复

使用solr解析自由文本(自然语言)查询

我正在尝试为本地搜索网站构建查询解析算法,该算法可以将自由文本搜索查询(单个输入文本框)分类为网站上可能进行的各种类型的搜索。 例如,用户可以在xyz附近键入中国餐馆。 我应该如何将其分解为菜式:“中国”,地区性:“ xyz”,因为 这并不是真正的自然语言解析问题,因为我们正在尝
2回复

在SQL Server 2005中使用PDF文件进行全文搜索

我在SQL Server 2005中索引PDF文件时遇到了一个奇怪的问题,希望有人可以提供帮助。 我的数据库有一个名为MediaFile的表,其中包含以下字段:MediaFileId int identity pk,FileContent image和FileExtension varchar
1回复

SQL Server 2005中的全文本搜索

我正在Sql Server 2005中进行全文本搜索。我已经创建了目录,然后在特定表上创建了索引。 我正在使用FREETEXTTABLE(tablename,*,@ SearchKeyword)搜索数据。 因此,我正在索引中的所有列中进行搜索,因为任何列都可以包含关键字。 是否有办
2回复

SQL Server 2005 FREETEXT()性能问题

我有一个查询与大约6-7连接表和一个FREETEXT()谓词在基地表的6列在哪里。 现在,这个查询在去年工作正常(在2秒内)并且几乎保持不变(我尝试旧版本并且问题仍然存在) 所以今天突然间,相同的查询大约需要1-1.5分钟。 检查SQL Server 2005中的执行计划后,重
3回复

搜索SQL Server

我被要求对我们的数据库之一进行搜索。 标准是用户在搜索框中键入内容,然后SQL需要将搜索中的所有单词拆分,然后在多个字段(可能是2或3)中搜索每个单词,然后需要对结果进行加权(例如,结果)所有单词出现的位置将是最高的结果,如果仅出现1个单词,则其权重将降低。 例如,如果您搜索“这是一
1回复

SQL FREETEXT搜索转义空间

我的数据库中有一个同义词库表,我想使用FREETEXT收集数据。 但是,我要搜索的字符串包含空格。 例如,我要搜索代码“ AB 001” 此代码将同时搜索“ AB”和“ 001”,这将给我带来更多垃圾结果。 我尝试将字符串用双引号引起来,但也不起作用。 我该如何搜索完整