如何加载经过许可的第三方断字符
SQL Server 2008 包括以下语言的经过许可的第三方断字符:
丹麦语
波兰语
土耳其语
这些断字符可供使用,但是并未默认安装,必须在手动注册后添加到支持全文索引和查询的 LCID 列表中。
先决条件信息
您需要以下信息,才能够加载断字符:
要在其上注册断字符的每个 SQL Server 实例的实例名。
每个实例的 FTDATA 路径。
获得实例 ID 之后,必须检索 FTData 文件夹特定于实例的相应路径。在添加用于指定语言的词典和同义词库文件的配置值时,将使用此路径。
获得 SQL Server 实例的实例 ID
单击**“开始”,再单击“运行”**。
在**“运行”对话框中的“打开”**框中,键入 Regedit。
单击“确定”。这将打开注册表编辑器。
导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL。此时,右窗格将针对每个安装的 SQL Server 实例在**“数据”**列中显示其实例名称和实例 ID。对于您要加载第三方断字符的每个服务器实例,获取其实例 ID。
获得每个实例的 FTData 路径
单击**“开始”,再单击“运行”**。
在**“运行”对话框中的“打开”**框中,键入 Regedit。
单击“确定”。
在注册表编辑器中,为 SQL Server 的实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instance_ID\MSSQLServer,其中,instance_ID 是您要加载第三方断字符的服务器实例的标识符。例如,对于默认的服务器实例,注册表项的值为:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\Setup
右窗格显示 FullTextDefaultPath 值,该值包含特定于实例的 FTData 文件夹路径。例如,对于 SQL Server 2008 的默认实例,路径为:
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\FTData
注册断字符和相关语言组件
Microsoft 许可的第三方断字符的安装过程分为三个阶段。下表汇总了这些阶段,其步骤在本节的后面进行说明。
为要注册的语言添加断字符和词干分析器接口的 COM ClassID,将其作为项添加到注册表的 <InstanceRoot>\MSSearch\CLSID 节点。
将该语言的项添加到 <InstanceRoot>\MSSearch\Language 节点。
添加配置值以指定该语言的词典和同义词库文件的位置。
注意 |
---|
本节中以丹麦语断字符为例。本主题后面的表中提供了为每种语言安装断字符所需的值。 |
阶段 1:为要注册的语言添加断字符和词干分析器接口的 COM ClassID
注意 |
---|
错误编辑注册表会严重损坏您的系统。更改注册表之前,应当备份计算机中的所有重要数据。 |
为丹麦语添加这些组件的 COM 类 ID**:**
通过以下方法打开注册表编辑器:
单击**“开始”,然后单击“运行”**。
在**“运行”对话框中的“打开”**框中,键入 Regedit。
在注册表编辑器中,为 SQL Server 的实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSearch\CLSID
在菜单栏上,单击**“编辑”,单击“新建”,然后单击“项”**。
键入 {16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}。
按 Enter 键。
在右窗格中,右键单击**“默认值”注册表值,然后单击“修改”**。
在**“编辑字符串”对话框中的“数值数据”框中,键入 danlr.dll,然后单击“确定”**。
重复步骤 3 到步骤 7,将步骤 4 中的值替换为 {83BC7EF7-D27B-4950-A743-0F8E5CA928F8}。
对于给定语言,请执行上述步骤,并用所需语言的项值来替换步骤 4 和 8 中的项值。这些值在下面列出。在步骤 7 中,用相应语言的 .dll 名称替换 danlr.dll。
语言 |
步骤 4 的项值 |
步骤 7 的 .DLL 名称 |
步骤 8 的项值 |
---|---|---|---|
丹麦语 |
{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D} |
danlr.dll |
{83BC7EF7-D27B-4950-A743-0F8E5CA928F8} |
波兰语 |
{B8713269-2D9D-4BF5-BF40-2615D75723D8} |
lrpolish.dll |
{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6} |
土耳其语 |
{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6} |
trklr.dll |
{8DF412D1-62C7-4667-BBEC-38756576C21B} |
阶段 2:将相应语言的项添加到 <InstanceRoot>\MSSearch\Language 节点
将丹麦语的项添加到此节点:
为 SQL Server 的默认实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSearch\Language
在前面的过程中重复步骤 3 到 5,并在步骤中用 dan 替换步骤 4 中的项名称。
对于给定语言,请执行前面的步骤,并针对特定语言用下面列出的值替换步骤 4 中的项名称。
语言 |
步骤 4 的项名称 |
---|---|
丹麦语 |
dan |
波兰语 |
plk |
土耳其语 |
trk |
阶段 3:针对一种语言添加提供每个语言组件所在位置的配置值
针对丹麦语添加这些组件的配置值:
选择在上面阶段 2 中输入的注册表项。对于 SQL Server 的默认实例,它是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSearch\Language\dan
在菜单栏上,依次单击**“编辑”、“新建”和“字符串值”**。
键入 TsaurusFile。
按 Enter 键。
右键单击刚才添加的 TsaurusFile 注册表值,然后单击**“修改”**。
在**“编辑字符串”对话框的“数值数据”**框中,键入 tsdan.xml。
单击“确定”。
针对相应语言的其余语言组件(同义词库文件、语言(区域设置)、断字符和词干分析器)重复步骤 2 到步骤 7。为丹麦语、波兰语或土耳其语注册这些组件所需的值如下所示。
丹麦语的值
重复步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)以及值数据(步骤 6)。
步骤 2 的值类型 |
步骤 3 和步骤 5 的值名称 |
步骤 6 的值类型 |
---|---|---|
字符串值 |
TsaurusFile |
tsdan.xml |
DWORD 值 |
Locale |
00000406 |
字符串值 |
WBreakerClass |
{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D} |
字符串值 |
StemmerClass |
{83BC7EF7-D27B-4950-A743-0F8E5CA928F8} |
波兰语的值
对于波兰语,请执行上述步骤,并在步骤中使用下面列出的值。选择在上面的阶段 2 中为波兰语输入的注册表项。对于 SQL Server 的默认实例,它是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSearch\Language\plk
完成步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)和值数据(步骤 6)。
步骤 2 的值类型 |
步骤 3 和步骤 5 的值名称 |
步骤 6 的值数据 |
---|---|---|
字符串值 |
TsaurusFile |
tsplk.xml |
DWORD 值 |
Locale |
00000415 |
字符串值 |
WBreakerClass |
{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6} |
字符串值 |
StemmerClass |
{B8713269-2D9D-4BF5-BF40-2615D75723D8} |
土耳其语的值
对于土耳其语,请执行上述步骤,并在步骤中使用下面列出的值。选择在上面的阶段 2 中为土耳其语输入的注册表项。对于 SQL Server 的默认实例,它是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSearch\Language\trk
完成步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)和值数据(步骤 6)。
步骤 2 的值类型 |
步骤 3 和步骤 5 的值名称 |
步骤 6 的值数据 |
---|---|---|
字符串值 |
TsaurusFile |
tstrk.xml |
DWORD 值 |
Locale |
0000041f |
字符串值 |
WBreakerClass |
{8DF412D1-62C7-4667-BBEC-38756576C21B} |
字符串值 |
StemmerClass |
{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6} |
更新全文搜索所支持语言的列表
加载了第三方断字符之后,需要刷新全文索引和查询支持的 LCID 列表。若要刷新此列表,请按如下方式使用 sp_fulltext_service 系统存储过程更新语言列表:
exec sp_fulltext_service 'update_languages';
新加载了断字符的语言即会在 sys.fulltext_languages 目录视图中列出。