共通 | サーバーOSによって全文検索結果が変わる

eValue NS

【共通】サーバー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である環境とでは、全文検索結果が異なる場合があります。

原因

  1. 仕様改善により検索精度の向上 全文検索を行う上での単語の区切りの仕様が、Windows Server 2008 R2、Windows Server 2012で改善されており、従来全文検索でヒットすべきでないデータについて、ヒットしないようになっています。
    例)「文書管理」というキーワードで検索を行った場合、Windows Server 2003では「文書の管理」や
      「文書を管理」など、ヒットすべきでないデータがヒットしていましたが、Windows Server 2008 R2、
      Windows Server 2012ではヒットしません。

  2. Windows Serverの仕様変更により、Windows Server 2003とは動作が異なる点が2点あります。
    i) インデックス作成時に、文字列が分割されて検索エンジンに返されることにより、期待した
     検索結果が得られない場合がある。
     例)「保管」という文字列は、文書内のどこに文字列があるかによって、「保」・「管」に分割され、
       検索でヒットしない場合があります。これはファイルの内容に依存する問題です。
       日本マイクロソフト社より仕様との回答を得ています。下記KBをご参照ください。
       http://support.microsoft.com/kb/2709225/ja
    ii) Word文書の脚注が検索対象とならない。
     日本マイクロソフト社に仕様改善を申し入れております。但し修正されない可能性があります。

  3. Windows Serverの動作の問題により、本来ヒットしなくてはならないデータがヒットしない。
     ・インデキシング に使用する言語が“OSの言語”ではなく“ニュートラル言語 ”へ変更された
      回避策:レジストリ変更により改善が可能です。
     ・日本語などのダブルバイト言語へのインデキシングおよびワードブレークの動作が変更された。
      回避策:Microsoft Office 2010 フィルタパック+HotFixをインストールすることで改善が可能です。

対処方法

原因3.については、下記の手順を実行することで改善が可能です(サーバーの再起動が必要です)。

  1. 「Microsoft Office 2010 フィルタ パック(ファイル名:FilterPack64bit.exe)」を以下URLよりダウンロードしてください。
    http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=5CD4DCD7-D3E6-4970-875E-ABA93459FBEE&displaylang=ja

  2. 「SharePoint サーバー 2010年の修正プログラム パッケージ(ファイル名:office-kb2124512-fullfile-x64-glb.exe)」を以下URLよりダウンロードしてください。
    http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2124512&kbln=ja
    ※ダウンロードには電子メールアドレス等の入力が必要になります。

  3. 「Microsoft Office 2010 フィルタ パック」をeValue NSのデータベースサーバーにインストールしてください。
    ※サーバーの再起動が行われる場合があります。

  4. 「SharePoint サーバー 2010年の修正プログラム パッケージ」をeValue NSのデータベースサーバーにインストールしてください。
    ※サーバーの再起動が行われる場合があります。

  5. データベースサーバー上でレジストリ エディタ(regdit.exe)を起動します。

  6. 以下のレジストリ値を確認します。
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Language\jpn]
    "WBreakerClass"

  7. 手順6.にて確認した値で、以下のレジストリ値を変更します。
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(※1).(※2)\MSSearch\Language\Neutral]
    "WBreakerClass"

  8. 以下のレジストリ値を「{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]
    "(既定)"

  9. 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

  10. データベースサーバーの再起動を行ってください。

  11. SQL Management Studioよりフルテキストインデックスの再構築を行ってください。

※1
Server 2008 R2の場合:"MSSQL10_50" SQL Server 2012の場合:"MSSQL11"
SQL Server 2014の場合:"MSSQL12"  SQL Server 2016の場合:"MSSQL13"
※2
既定のインスタンスの場合:"MSSQLSERVER"、名前付きインスタンスの場合:"インスタンス名"

備考

  • OS やSQL Server の組み合わせにより全文検索の結果が変わる場合があります。
  • 全文検索によるファイル内文字列の抽出は、前後の文章等によって異なるため、期待どおりの検索結果を得られない場合があります。
このページに掲載している情報は、いかなる保証もない掲載当時の情報を元に提供されるものです。したがって、お客様がご覧になった時点での正確性、妥当性を含めて、これらの内容について弊社およびその関連会社は、明示的にも黙示的にも一切の保証はいたしかねます。さらに、これらの情報を利用した結果により発生した直接的、間接的、偶発的、結果的損害、逸失利益、または特別損害を含むすべての損害に対して、状況のいかんを問わず弊社は一切責任を負いません。

Copyright © 2018 OSK Co. LTD All Rights Reserved.