Windows Server 2008 R2 で Excel ファイル (*.xls) の日本語フルテキスト検索が行われない

現象
SQL Server 2008 R2 のフルテキスト検索で、Office Filter を使用して日本語 Excel 文書 (Excel 97-2003 形式; *.xls) ファイルの日本語フルテキスト検索を実行している時に、Windows Server 2008 R2 および Windows 7 で、期待通りの結果が得られないことがあります。
具体的には、次のような状況となります。

  - Windows Server 2008 R2 および Windows 7 では、指定した日本語キーワードで Excel 文書がヒットしません。
  - Windows Server 2008 以前のバージョンの Windows 上では、同じ日本語キーワードで Excel 文書がヒットします。

例えば、Windows Server 2008 の環境にあるフルテキスト検索アプリケーションでは、ある日本語キーワードで Excel 文書がヒットしていたのに、Windows Server 2008 R2 に環境を移行すると、同じキーワードでも Excel 文書がヒットしなくなる、という問題が発生します。
原因
Windows Server 2008 R2 および Windows 7 で、Office Filter の動作に仕様変更が行われたためです。
具体的には、次のような違いです。

  Windows Server 2008 以前の Office Filter:
  Excel 文書の言語設定 (LCID) として、システム ロケールを返します。システム ロケールが [日本語] の Windows では、言語設定として [日本語] を返します。

  Windows Server 2008 R2 / Windows 7 の Office Filter:
  Excel 文書の言語設定 (LCID) として、常に 0 を返します。

SQL Server のフルテキスト検索では、0 は [ニュートラル] として取り扱われるため、フルテキスト インデックス作成の時に使用されるワードブレーカーの言語が変わります。
Windows Server 2008 以前の環境では [日本語] でフルテキスト インデックスが作成されますが、Windows Server 2008 R2 の環境では [ニュートラル] でフルテキスト インデックスが作成されるため、フルテキスト インデックスの内容が変わり、期待通りにヒットしなくなる場合があります。
回避策
SQL Server 2008 R2 の [ニュートラル] のワードブレーカーとして、[日本語] のワードブレーカーが使用されるように、レジストリ値を変更します。
次の手順で行います。

(1) [ニュートラル] の "WBreakerClass" レジストリ値を変更
レジストリ エディタ(regdit.exe)を使用し、次のように [ニュートラル] の "WBreakerClass" レジストリ値を変更します。

SQL Server 既定インスタンスの場合:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language\Neutral]
"WBreakerClass"="{E1E8F15E-8BEC-45df-83BF-50FF84D0CAB5}"

SQL Server 名前付きインスタンスの場合:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.<インスタンス名>\MSSearch\Language\Neutral]
"WBreakerClass"="{E1E8F15E-8BEC-45df-83BF-50FF84D0CAB5}"

(2) SQL Server の再起動
レジストリを変更したら、SQL Server を再起動します。

(3) フルテキスト カタログの再構築
SQL Server の再起動後、フルテキスト カタログの再構築を行います。
SQL Server Management Studio で SQL Server に接続し、対象のフルテキスト カタログを右クリックし、[再構築] を実行します。
または、次のステートメントを実行します。

ALTER FULLTEXT CATALOG <フルテキスト カタログ名> REBUILD
go
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2703779 - 最終更新日: 04/19/2012 02:04:00 - リビジョン: 1.0

Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard

  • KB2703779
フィードバック