【共通】サーバーOSによって全文検索結果が変わる
項目 | 内容 |
---|---|
FAQ番号 | NS2012112901 |
対象機能 | eValue NS 共通 ドキュメント管理 コミュニケーション(Exchange連携なし) |
対象バージョン | すべてのバージョン |
FAQ公開日 | 2012/11/29 最終更新日:2017/10/26 |
FAQカテゴリ | 動作環境 |
概要
eValue NS の全文検索機能(Microsoft SQL Serverのフルテキスト検索を使用した全文検索)において、eValue NSのデータベースサーバーのOSが、Windows Server 2008 R2、Windows Server 2012である環境と、それ以前のバージョンのOSである環境とでは、全文検索結果が異なる場合があります。
原因
- 仕様改善により検索精度の向上 全文検索を行う上での単語の区切りの仕様が、Windows Server 2008 R2、Windows Server 2012で改善されており、従来全文検索でヒットすべきでないデータについて、ヒットしないようになっています。
例)「文書管理」というキーワードで検索を行った場合、Windows Server 2003では「文書の管理」や
「文書を管理」など、ヒットすべきでないデータがヒットしていましたが、Windows Server 2008 R2、
Windows Server 2012ではヒットしません。 - Windows Serverの仕様変更により、Windows Server 2003とは動作が異なる点が2点あります。
i) インデックス作成時に、文字列が分割されて検索エンジンに返されることにより、期待した
検索結果が得られない場合がある。
例)「保管」という文字列は、文書内のどこに文字列があるかによって、「保」・「管」に分割され、
検索でヒットしない場合があります。これはファイルの内容に依存する問題です。
日本マイクロソフト社より仕様との回答を得ています。下記KBをご参照ください。
http://support.microsoft.com/kb/2709225/ja
ii) Word文書の脚注が検索対象とならない。
日本マイクロソフト社に仕様改善を申し入れております。但し修正されない可能性があります。 - Windows Serverの動作の問題により、本来ヒットしなくてはならないデータがヒットしない。
・インデキシング に使用する言語が“OSの言語”ではなく“ニュートラル言語 ”へ変更された
回避策:レジストリ変更により改善が可能です。
・日本語などのダブルバイト言語へのインデキシングおよびワードブレークの動作が変更された。
回避策:Microsoft Office 2010 フィルタパック+HotFixをインストールすることで改善が可能です。
対処方法
原因3.については、下記の手順を実行することで改善が可能です(サーバーの再起動が必要です)。
- 「Microsoft Office 2010 フィルタ パック(ファイル名:FilterPack64bit.exe)」を以下URLよりダウンロードしてください。
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=5CD4DCD7-D3E6-4970-875E-ABA93459FBEE&displaylang=ja - 「SharePoint サーバー 2010年の修正プログラム パッケージ(ファイル名:office-kb2124512-fullfile-x64-glb.exe)」を以下URLよりダウンロードしてください。
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2124512&kbln=ja
※ダウンロードには電子メールアドレス等の入力が必要になります。 - 「Microsoft Office 2010 フィルタ パック」をeValue NSのデータベースサーバーにインストールしてください。
※サーバーの再起動が行われる場合があります。 - 「SharePoint サーバー 2010年の修正プログラム パッケージ」をeValue NSのデータベースサーバーにインストールしてください。
※サーバーの再起動が行われる場合があります。 - データベースサーバー上でレジストリ エディタ(regdit.exe)を起動します。
- 以下のレジストリ値を確認します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Language\jpn]
"WBreakerClass" - 手順6.にて確認した値で、以下のレジストリ値を変更します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Language\Neutral]
"WBreakerClass" - 以下のレジストリ値を「{64F1276A-7A68-4190-882C-5F14B7852019}」に変更します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Filters\.doc]
"(既定)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Filters\.xls]
"(既定)" - SQL Management Studioに「sa」アカウントでログインし、以下クエリを実行します。
exec sp_fulltext_service 'load_os_resources', 1
exec sp_fulltext_service 'verify_signature', 0
exec sp_fulltext_service 'update_languages'
go - データベースサーバーの再起動を行ってください。
- SQL Management Studioよりフルテキストインデックスの再構築を行ってください。
※1
Server 2008 R2の場合:"MSSQL10_50" SQL Server 2012の場合:"MSSQL11"
SQL Server 2014の場合:"MSSQL12" SQL Server 2016の場合:"MSSQL13"
SQL Server 2014の場合:"MSSQL12" SQL Server 2016の場合:"MSSQL13"
※2
既定のインスタンスの場合:"MSSQLSERVER"、名前付きインスタンスの場合:"インスタンス名"
備考
- OS やSQL Server の組み合わせにより全文検索の結果が変わる場合があります。
- 全文検索によるファイル内文字列の抽出は、前後の文章等によって異なるため、期待どおりの検索結果を得られない場合があります。
このページに掲載している情報は、いかなる保証もない掲載当時の情報を元に提供されるものです。したがって、お客様がご覧になった時点での正確性、妥当性を含めて、これらの内容について弊社およびその関連会社は、明示的にも黙示的にも一切の保証はいたしかねます。さらに、これらの情報を利用した結果により発生した直接的、間接的、偶発的、結果的損害、逸失利益、または特別損害を含むすべての損害に対して、状況のいかんを問わず弊社は一切責任を負いません。