这篇论坛文章(赛迪网技术社区)详细介绍了SQL Server 2005噪声字词和辞典的相关概念及背景知识,更多内容请参考下文:
问题:
我听说全文搜索可以使用噪声字词来消除搜索过程中无意义的字词。我还听说全文搜索利用了辞典,但是不是很清楚实际是如何应用的。你可不可以详细介绍这两种技术是怎么样应用到全文搜索中的?我很想知道这些全文搜索技术的背景知识,以及哪里可以获取这些文件和如何升级这些文件。
解答:
尽管噪声字词和辞典在全文搜索执行方面有很多相似的地方,但是为了解释的更为清楚,我们把这两种技术分开来讲。要记住虽然SQL Server 2000和7.0版本也有一些相同的属性,但是本文中介绍的信息都适用于SQL Server 2005。你还需要关注SQL Server 2008的全文搜索功能的特点,因为新版本中部分规则有所变动。
噪声字词
目的:
microsoft建立噪声字词文件,在语言的基础上决定哪些字词对于搜索来说是无意义的。例如,在(美式)英语中,噪声字词可以包括:because、been、before、being、between、both、but等。在默认的Noiseenu.txt文件(美式英语)里,有100多个噪声字词,在进行全文搜索的时候会使用这个文件消除无意义的字词。
语言支持:
系统支持20种不同的语言,从中文(Noisechs.txt)到土耳其语(Noisetrk.txt)。
windows 目录:$SQL_Server_Install_Path\Microsoft sql server\MSSQL.1\MSSQL\FTDATA\
更改:
可以向文件里添加新的噪声字词。新噪声字词会添加到默认的最后一次登录“your”后之后。
更多信息
如果你更改了噪声字词文件,在使用新噪声字词前,需要重新输入所有的全文目录。
辞典
目的:
能够在全文搜索中确定并使用同义字词。利用CONTAINS或CONTAINSTABLE命令指定FORMSOF THESAURUS参数,就可以使用辞典来确定搜索关键词的同义词。同样也可以利用FREETEXT和FREETEXTTABLE命令。利用这些命令可以使用辞典来确定搜索关键词的表达或替换词。
语言支持:
辞典文件为XML格式文件,有一个总文件(tsGLOBAL.xml)和18个语言文件。默认设置中所有的文件都有注释的XML样例,因此在执行全文搜索时默认设置是不会建立同义词的。
Windows目录:
$SQL_Server_Install_Path\Microsoft sql server\MSSQL.1\MSSQL\FTDATA\
更改:
在检查了XML格式之后,存在两种辞典词目类型。第一类为扩展类型,第二类为替代类型。扩展类型可以被认为时同义词或替代词。替代类型表明以一个字符串替代另一个字符串。
更多信息:
所有辞典文件都应该以Unicode形式保存。
要使用新的辞典,需要重新启动全文搜索引擎窗口。