CONTAINS和FORMSOF中的有效字符

时间:2011-01-24 02:57:35

标签: sql-server full-text-search

我正在使用用户搜索表达式并将其转换为SQL Server全文搜索所理解的格式。

我对用户搜索文本中必须删除的字符有疑问。

我想我需要加倍单引号和双引号。我需要删除其他标点符号吗?有人看过这个无效字符的完整列表吗?

我查看了CONTAINS和FORMSOF的MS文档,但没有看到这个问题的解决方法。

1 个答案:

答案 0 :(得分:0)

与此相似,虽然不重复,但从这里开始

SQL Server Full Text Search Escape Characters?

简而言之,SQL Server FTE用于自然语言搜索,因此任何形式的特殊字符都不会在其索引中显示。你几乎可以去除任何不属于正常字符范围的东西。

这篇文章是关于FTE搜索中的引号,并显示了大多数常见的搜索表单。 http://support.microsoft.com/default.aspx?scid=kb;EN-US;246800

Replace all double quotes (clears the text and any improper quotations)   
   If the text string contains one of the key words "NEAR", "FORMSOF", or    
   "ISABOUT", the parsing is complete   
Else
      Surround any instances of 'and' or 'and not' with quotes
      Surround any instances of 'or' or 'or not' with quotes
      Surround the entire string with quotes