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形式保存。

要使用新的辞典,需要重新启动全文搜索引擎窗口

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3