如何加载经过许可的第三方断字符

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

SQL Server 2008 R2 包括以下语言的经过许可的第三方断字符:

  • 丹麦语

  • 波兰语

  • 土耳其语

这些断字符可供使用,但是并未默认安装,必须在手动注册后添加到支持全文索引和查询的 LCID 列表中。

先决条件信息

您需要以下信息,才能够加载断字符:

  • 要在其上注册断字符的每个 SQL Server 实例的实例名。

  • 每个实例的 FTDATA 路径。

    获得实例 ID 之后,必须检索 FTData 文件夹特定于实例的相应路径。在添加用于指定语言的词典和同义词库文件的配置值时,将使用此路径。

获取每个 SQL Server 实例的实例名

  1. 单击“开始”,然后单击“运行”

  2. “运行”对话框中的“打开”框中,键入 Regedit。

  3. 单击“确定”。这将打开注册表编辑器。

  4. 在注册表编辑器中,为第一个 SQL Server 2008 R2 实例(其实例 ID 为 MSSQL10_50.MSSQLSERVER)选择以下注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\SQL 

    右窗格将显示实例名称及对应的实例 ID。

重要提示:
若要获得另一个服务器实例的实例名称,必须在注册表路径中使用其实例 ID,而不是 MSSQL10_50.MSSQLSERVER。

获得每个实例的 FTData 路径

  1. 单击“开始”,然后单击“运行”

  2. “运行”对话框中的“打开”框中,键入 Regedit

  3. 单击“确定”。 

  4. 在注册表编辑器中,为 SQL Server 实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instance_ID\MSSQLServer,其中 instance_ID 为第一个 SQL Server 实例的 MSSQL10_50.MSSQLSERVER。此注册表项值将是:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\Setup 

    右窗格显示 FullTextDefaultPath 值,该值包含特定于实例的 FTData 文件夹路径。例如,对于第一个 SQL Server 2008 R2 实例来说,这可能是默认路径:

    C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\FTData

注册断字符和相关语言组件

Microsoft 许可的第三方断字符的安装过程分为三个阶段。下表汇总了这些阶段,其步骤在本节的后面进行说明。

  1. 为要注册的语言添加断字符和词干分析器接口的 COM ClassID,将其作为项添加到注册表的 <InstanceRoot>\MSSearch\CLSID 节点。

  2. 将该语言的项添加到 <InstanceRoot>\MSSearch\Language 节点。

  3. 添加配置值以指定该语言的词典和同义词库文件的位置。

注意:
本节中以丹麦语断字符为例。本主题后面的表中提供了为每种语言安装断字符所需的值。

阶段 1:为要注册的语言添加断字符和词干分析器接口的 COM ClassID

注意:
错误编辑注册表会严重损坏您的系统。更改注册表之前,应当备份计算机中的所有重要数据。

为丹麦语添加这些组件的 COM 类 ID

  1. 通过以下方法打开注册表编辑器:

    1. 单击“开始”,然后单击“运行”

    2. “运行”对话框中的“打开”框中,键入 Regedit

  2. 在注册表编辑器中,为第一个 SQL Server 实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\CLSID

  3. 在菜单栏上,单击“编辑”,单击“新建”,然后单击“项”

  4. 键入 {16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}

  5. 按 Enter 键。

  6. 在右窗格中,右键单击“默认值”注册表值,然后单击“修改”

  7. “编辑字符串”对话框中的“数值数据”框中,键入 danlr.dll,然后单击“确定”

  8. 重复步骤 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 节点

将丹麦语的项添加到此节点:

  1. 为第一个 SQL Server 实例选择以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language 

  2. 在前面的过程中重复步骤 3 到 5,并在步骤中用 dan 替换步骤 4 中的项名称。

对于给定语言,请执行前面的步骤,并针对特定语言用下面列出的值替换步骤 4 中的项名称。

语言 步骤 4 的项名称

丹麦语

dan

波兰语

plk

土耳其语

trk

阶段 3:针对一种语言添加提供每个语言组件所在位置的配置值

针对丹麦语添加这些组件的配置值:

  1. 选择在上面阶段 2 中输入的注册表项。对于第一个 SQL Server 实例,它是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language\dan

  2. 在菜单栏上,单击“编辑”,单击“新建”,然后单击“字符串值”

  3. 键入 TsaurusFile

  4. 按 Enter 键。

  5. 右键单击刚才添加的 TsaurusFile 注册表值,然后单击“修改”

  6. “编辑字符串”对话框的“数值数据”框中,键入 tsdan.xml

  7. 单击“确定”。 

针对相应语言的其余语言组件(同义词库文件、语言(区域设置)、断字符和词干分析器)重复步骤 2 到步骤 7。为丹麦语、波兰语或土耳其语注册这些组件所需的值如下所示。

丹麦语的值

重复步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)以及值数据(步骤 6)。

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值类型

字符串值

TsaurusFile

tsdan.xml

DWORD 值

区域设置

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_50.MSSQLSERVER\MSSearch\Language\plk

完成步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)和值数据(步骤 6)。

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值数据

字符串值

TsaurusFile

tsplk.xml

DWORD 值

区域设置

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_50.MSSQLSERVER\MSSearch\Language\trk

完成步骤 2 到步骤 7 以添加下面列出的每组值,替换每个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)和值数据(步骤 6)。

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值数据

字符串值

TsaurusFile

tstrk.xml

DWORD 值

区域设置

0000041f

字符串值

WBreakerClass

{8DF412D1-62C7-4667-BBEC-38756576C21B}

字符串值

StemmerClass

{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6}

更新全文搜索所支持语言的列表

加载了第三方断字符之后,需要刷新全文索引和查询支持的 LCID 列表。若要刷新此列表,请使用 sp_fulltext_service 系统存储过程执行下列步骤:

  1. 按如下方式加载服务器实例中新安装的断字符和筛选器:

    复制代码
    EXEC sp_fulltext_service @action='load_os_resources', @value=1;
  2. 按如下方式更新语言列表:

    复制代码
    exec sp_fulltext_service 'update_languages';

新加载了断字符的语言即会在 sys.fulltext_languages 目录视图中列出。




    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/archive/2011/06/01/2067165.html,如需转载请自行联系原作者


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
6月前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
277 0
|
小程序 PHP
[微擎]多系统共用accesstoken修复wifi小程序文本敏感词汇检测+图片检测原生php(可用)
[微擎]多系统共用accesstoken修复wifi小程序文本敏感词汇检测+图片检测原生php(可用)
|
uml C++
MFC通讯系统项目(未完成)
MFC通讯系统项目(未完成)
132 0
MFC通讯系统项目(未完成)