首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server 2005全文搜索-有效的同义词库字符

SQL Server 2005全文搜索-有效的同义词库字符
EN

Stack Overflow用户
提问于 2010-04-06 21:00:51
回答 1查看 758关注 0票数 0

FORMSOF THESAURUS为特定字符抛出错误。例如,FORMSOF (THESAURUS, hel?lo)可以工作,但FORMSOF (THESAURUS, hel!lo)会抛出错误。

但是,我没有找到任何关于允许使用哪些字符的文档。

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-31 01:40:47

“同义词词典”需要一个单词或术语:

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

说:

word

不带空格或标点符号的字符串。

短语

是一个或多个单词,每个单词之间有空格。

确保您已经设置了停用词(我已经更改为在我的代码中不使用它们)

停止字词

定义全文查询时,全文引擎将从搜索条件中丢弃停用词(也称为干扰词)。停顿词是诸如"a“、"and”、"is“或"the”之类的词,它们可能经常出现,但在搜索特定文本时通常没有帮助。Stopword列在非索引字表中。每个全文索引都与特定的非索引字表相关联,该非索引字表确定在索引时从查询或索引中省略哪些停用字。有关更多信息,请参见Stopword和Stoplist。

这里还有一个非常棒的.net库:http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/ (我用它来转换全文查询中的短语)

编辑:这可能会有帮助:请注意,我确实将's替换为空,否则它将变为空,并且将不匹配。

代码语言:javascript
复制
search = search.Replace("’s", "");
search = Regex.Replace(search, @"[#$%&()*“”+,./:;<=>!?@[\\\]^_`’{|}~]", "");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2584927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档