Change the Word Breaker Used for US English and UK English

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库

自 SQL Server 2012 (11.x) 起,安装程序为英语语言安装更新版本的断词器和词干分析器,替换这些组件的以前版本。 有关更新组件的更改后行为的信息,请参阅全文搜索的行为更改。 本主题说明如何在这些组件的更新版本和以前版本之间切换。 对于群集安装,这些更改应对所有节点执行。

部分旧版 SQL Server 使用了不同的断字符,由用于美国英语 (LCID 1033) 和英国英语 (LCID 2057) 的不同 CLSID 表示。 自 SQL Server 2012 (11.x) 开始,这两个 LCID 使用具有相同 CLSID 的相同组件,如下表中所示:

LCID 以前版本安装的断字符

版本 12.0.6828.0
以前版本安装的词干分析器 SQL Server 2012 (11.x) 和更高版本安装的断字符

版本 14.0.4999.1038
SQL Server 2012 (11.x) 和更高版本安装的词干分析器
2052
(美国英语)
188D6CC5-CB03-4C01-912E-47D21295D77E EEED4C20-7F1B-11CE-BE57-00AA0051FE20 9FAED859-0B30-4434-AE65-412E14A16FB8 E1E5EF84-C4A6-4E50-8188-99AEF3DE2659
2057
(英国英语)
173C97E2-AEBE-437C-9445-01B237ABF2F6 D99F7670-7F1A-11CE-BE57-00AA0051FE20 9FAED859-0B30-4434-AE65-412E14A16FB8 E1E5EF84-C4A6-4E50-8188-99AEF3DE2659

本主题中所述的组件是在 MSSQL\Binn 实例的 SQL Server 文件夹中安装的 DLL 文件。 完整路径通常是 C:\Program Files\Microsoft SQL Server\<instance>\MSSQL\Binn

有关断字符和词干分析器的详细信息,请参阅 配置和管理断字符和词干分析器以便搜索

从当前的英语断字符切换到以前的英语断字符

从当前版本的美国英语断字符切换到以前的版本

  1. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\CLSID。

  2. 使用以下步骤添加 COM ClassID 的新键,用于 LCID 1033 的以前美国英语的断字符和词干分析器接口:

    1. 为以前的断字符添加值为 {188D6CC5-CB03-4C01-912E-47D21295D77E} 的新键。

    2. 将该键值的(默认)数据更新为 langwrbk.dll

    3. 为以前的词干分析器添加值为 {EEED4C20-7F1B-11CE-BE57-00AA0051FE20} 的新键。

    4. 将该键值的(默认)数据更新为 infosoft.dll

  3. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\Language\enu

  4. WBreakerClass 键值更新为 {188D6CC5-CB03-4C01-912E-47D21295D77E}

  5. StemmerClass 键值更新为 {EEED4C20-7F1B-11CE-BE57-00AA0051FE20}

  6. 重新启动 SQL Server。

从当前版本的英国英语断字符切换到以前的版本

  1. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\CLSID。

  2. 使用以下步骤添加 COM ClassID 的新键,用于 LCID 2057 的以前英国英语的断字符和词干分析器接口:

    1. 为以前的断字符添加值为 {173C97E2-AEBE-437C-9445-01B237ABF2F6} 的新键。

    2. 将该键值的(默认)数据更新为 langwrbk.dll

    3. 为以前的词干分析器添加值为 {D99F7670-7F1A-11CE-BE57-00AA0051FE20} 的新键。

    4. 将该键值的(默认)数据更新为 infosoft.dll

  3. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\Language\eng

  4. WBreakerClass 键值更新为 {173C97E2-AEBE-437C-9445-01B237ABF2F6}

  5. StemmerClass 键值更新 {D99F7670-7F1A-11CE-BE57-00AA0051FE20}

  6. 重新启动 SQL Server。

从以前的英语断字符切换回当前的英语断字符

从以前版本的美国英语断字符切换回当前版本

  1. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\CLSID。

  2. 如果以下键不存在,则使用以下步骤添加 COM ClassID 的新键,用于 LCID 1033 的当前美国英语的断字符和词干分析器接口:

    1. 添加值为 {9faed859-0b30-4434-ae65-412e14a16fb8} 的新键用于当前断字符。

    2. 将该键值的(默认)数据更新为 MsWb7.dll

    3. 添加值为 {e1e5ef84-c4a6-4e50-8188-99aef3de2659} 的新键用于当前词干分析器。

    4. 将该键值的(默认)数据更新为 MsWb7.dll

  3. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\Language\eng

  4. WBreakerClass 键值更新为 {9faed859-0b30-4434-ae65-412e14a16fb8}

  5. StemmerClass 键值更新为 {e1e5ef84-c4a6-4e50-8188-99aef3de2659}

  6. 重新启动 SQL Server。

从以前版本的英国英语断字符切换回当前版本

  1. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\CLSID。

  2. 如果以下键不存在,则使用以下步骤添加 COM ClassID 的新键,用于 LCID 2057 的当前英国英语的断字符和词干分析器接口:

    1. 添加值为 {9faed859-0b30-4434-ae65-412e14a16fb8} 的新键用于当前断字符。

    2. 将该键值的(默认)数据更新为 MsWb7.dll

    3. 添加值为 {e1e5ef84-c4a6-4e50-8188-99aef3de2659} 的新键用于当前词干分析器。

    4. 将该键值的(默认)数据更新为 MsWb7.dll

  3. 在注册表中,导航到以下节点:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRoot>\MSSearch\Language\eng

  4. WBreakerClass 键值更新为 {9faed859-0b30-4434-ae65-412e14a16fb8}

  5. StemmerClass 键值更新为 {e1e5ef84-c4a6-4e50-8188-99aef3de2659}

  6. 重新启动 SQL Server。

另请参阅

将搜索功能所使用的断字符还原到以前的版本
对全文搜索的行为更改