ブログ

2020/01/29
【プリザンター】 第28回)添付ファイル(Office文書)の検索設定

プリザンターの検索機能について

こんにちは、CCS田中です。

プリザンターを使っている方には、プリザンターの検索機能の設定や検索方法について理解されている方もいらっしゃるかと思います。
単にレコードの中身の検索であれば、「テーブルの管理」から「検索」タブで、[フルテキスト]や[前方一致]などの設定を行うことで、検索設定が行えます。
ただし、事前にDB上でインデックスを作成しておく必要があります。これについては、本家のインプリム社が説明していますので、こちらをご覧ください。

上記の方法では、添付ファイルの中身は検索されません。ファイル名などは検索対象になるようですがファイルの中身を検索させるには、そのファイル種類にあったiFilterというものをプリザンターのサーバにインストールする必要があります。このあたりの情報があまり書かれていないので、今回私の備忘録的にもブログに残しておきたいと思います。

Officeファイルの検索設定方法

先ほど、ファイルの種類にあったiFilterをインストールしておく必要があると説明したのですが、今回マイクロソフトのOffice文書を対象にしますので、マイクロソフトが提供しているiFilterをインストールしたいと思います。
この情報は、2020年1月15日時点の情報ですので、その後変更になっている可能性がありますので、ご注意ください。

1)マイクロソフトのサイトからOfficeのフィルターパックをダウンロードします。32ビットと64ビット用があるので、マシンにあったものを選択してダウンロードします。(ちなみに、Office2010用しかないようなので、Office2010用をダウンロードします。私が実施したところOffice2016にも対応していました)
2)ダウンロードしたファイルを実行して、フィルタをインストールします。
3)SQL Server Management Studio を起動します。
4)プリザンターのインスタンスで、次のクエリーを実行します。
 sp_fulltext_service 'load_os_resources',1
5)SQL Serverのサービスを再起動します。
6)以下のクエリで正常に登録されているか確認します。
 Select * from sys.fulltext_document_types

上記を実行すると、例えば拡張子「docx」などのパスが、C:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll などに設定されていればOKです。

ここまでで、新しく登録された添付ファイルの検索は可能になるのですが、すでに登録済みの添付ファイルについては検索対象になっていません。
そのため、一度Itemsテーブルのインデックスを削除し、再作成します。
再作成時に、一度 SQL Server Management Studio を再起動したほうが確実だと思います。たまにSQL Server Management Studioが固まってエラーで落ちるときもあるようですので、この部分は自己責任でお願いします。

これで設定は完了です。
添付ファイルの中にしかないテキストで検索してみましょう。
検索結果一覧ではわかりづらいですが、検索されることがわかるかと思います。

※上記設定は、Search.jsonの"SearchDocuments"をTrueに設定しておかないと有効になりません。

まとめ

さて、いかがでしたか?

今回は添付ファイルの検索設定方法について説明しました。あまり他のブログなどで詳しく説明されていないので、参考になった人もいるかと思います。現在PDFの検索ができるようにAdobeのiFilterを設定していますが、なぜかうまく動いていません。こちらについては調査中です。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP