FORMSOF THESAURUS
会抛出特定字符的错误。例如。 <{1}}会引发错误,而FORMSOF (THESAURUS, hel!lo)
会有效。
但是,我没有找到任何关于允许哪些字符的文档。
你可以帮帮我吗?答案 0 :(得分:3)
Thesaurus期待一个词或术语:
http://msdn.microsoft.com/en-us/library/cc879300(v=sql.110).aspx
我在.NET代码中所做的是使用正则表达式删除所有这些特殊字符(基本上离开A-Z和0-9。
http://msdn.microsoft.com/en-us/library/aa258227(v=sql.80).aspx
表示:
字
没有字符串 空格或标点符号。
短语
是一个或多个带空格的单词 在每个单词之间。
确保您设置了停用词(我确实已更改为在我的代码中没有停用词)
停用词
定义全文查询时, 全文引擎会丢弃停用词 (也称为噪音词)来自 搜索条件。停用词是单词 例如“a”,“and”,“is”或“the”, 这可能经常发生,但那 通常在搜索时没有帮助 特别的文字。停用词是 在停止列表中列出。每个全文 index与特定关联 停止列表,它决定了什么 查询中省略了停用词 或索引时的索引。对于 更多信息,请参阅停用词和 索引字表。
这里还有一个很棒的.net库:(我用它来转换全文查询中的短语) http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/
编辑: 这可能有所帮助: 请注意,我确实将's替换为空,否则那就变成多数人了,并且不会匹配。
search = search.Replace("’s", "");
search = Regex.Replace(search, @"[#$%&()*“”+,./:;<=>!?@[\\\]^_`’{|}~]", "");