WS7で全文検索

2007年3月29日 at 5:23 AM

全文検索機能について

さて今日は、Sun Java System Web Server 7.0の全文検索機能について紹介します。

はじめに

ApacheのWeb Serverでコンテンツの全文検索を行うためには、
ApacheにNamazu,Lucene,Sennaといった
検索エンジンを取って来てインストール、設定をしなければ
使うことはできません。(インストール&設定は結構大変ですよね!!

しかし、Sun Java System Web Server 7.0ではデフォルトで全文検索エンジンが
ついていますので、容易にコンテンツの全文検索ができるようになります。

詳細は、 Sun Java System Web Server 7.0 Administrator’s Guideの
Chapter 12 Working With Search Collectionsにも記載されていますので、
こちらも御参考にしてください。

手順の概要
Sun Java System Web Server 7.0で全文検索を行うためには、管理者は
管理画面から、検索機能を有効にした後、「コレクション」と呼ばれる
検索用の専用データベースを作成する必要があります。

そして、検索用のコレクションに対してインデックスを作成し、
検索ができるようになります。以降で詳細な手順を示しますので、
手順に従い設定を行ってください。

※注意事項:

1点だけ管理者が注意しなければならないことがあります。
それは、コレクションに含まれるコンテンツ(HTML,Text,PDF)は
アクセス制限が設けられているか否かに関わらず、検索結果として
出力されます。そこで管理者はアクセス制限の設けられているコンテンツに
関しては別のコレクションを作成するか、もしくは検索結果には表示されるが
そこから、実態のファイルにアクセスできないように設定する必要があります。

事前準備
Web Server 7.0をインストールしたデフォルトの状態では、
Web Server 7.0の情報を表示する画面しか表示されません。
そこで、Web Server 7.0の管理画面に付属する「ヘルプ」の
HTMLコンテンツと、http://docs.sun.comより入手できる
Web Server 7.0の関連ドキュメント(PDF版)をWeb Server上に配置し
参照できるようにします。そしてこれらのファイルを検索できるようにします。

■ 用意するHTMLファイル
* /sun/webserver7/lib/webapps/admingui/html/ja

■ 用意するPDFファイル
* Administrator’s Configuration File Reference
* Administrator’s Guide
* CLI Reference Manual
* Developer’s Guide
* Developer’s Guide to Java Web Applications
* Documentation Center
* Installation and Migration Guide
* NSAPI Developer’s Guide
* PHP Add-On 1.0
* Performance Tuning, Sizing, and Scaling Guide
* Release Notes
* Release Notes for Microsoft Windows
* Troubleshooting Guide

# pwd
/sun/webserver7/https-jse8-078/docs
# ls
img index_de.html index_es.html index_ja.html index_zh_cn.html
index.html index_en.html index_fr.html index_ko.html index_zh_tw.html
# mkdir OLD
# mv *.html img ./OLD
# mv OLD /usr/tmp
# cp -R /sun/webserver7/lib/webapps/admingui/html/ja/help /sun/webserver7/https-jse8-078/docs/
# cd /usr/tmp/PDF
# ls
AdminConfigFileReference.pdf NSAPIDevelopersGuide.pdf
AdministratorsGuide.pdf PHPAdd-On.pdf
CLIReferenceManual.pdf PerformanceTuningGuide.pdf
DevelopersGuide.pdf ReleaseNote.pdf
DevelopersGuideToJavaWebApplication.pdf ReleaseNoteForMSWindows.pdf
DocumentationCenter.pdf TroubleShootingGuide.pdf
InstallationAndMigrationGuide.pdf
# mkdir /sun/webserver7/https-jse8-078/docs/PDF
# mv /usr/tmp/PDF/*.pdf /sun/webserver7/https-jse8-078/docs/PDF

以上で静的コンテンツの準備は終了です。

全文検索機能の有効化の手順
下記の手順に従い設定を行ってください。

1.管理画面より「共通操作」の「仮想サーバを編集」を選択します。
2.仮想サーバのリストより該当の仮想サーバを選択します。
3.仮想サーバの管理画面より「検索」タブを押下します。
4.「検索アプリケーション」に必要項目を記入します。

URI: [/search]
検索アプリケーション: [*]有効
最大ヒット数: [1000]

※検索機能を利用するユーザはブラウザより
下記のURLを呼び出すことで利用可能になります。
http://VIRTUAL-SERVER-HOST:PORT/search

次に新規「検索コレクション」を作成します。

5.「新規」ボタンを押下します。
6.「新規検索コレクション」に必要項目を記入し「了解」ボタンを押下します。

*名前: [AdminHelpCollection]
表示名: [AdminHelpCollection]
説明: [WS7 ヘルプ検索コレクション]
コレクションパス: [*]デフォルトの場所にコレクションを作成します
ドキュメントルート: [../docs]
サブディレクトリ: [help]

7.検索コレクション作成の確認
正常に検索コレクションが作成されると、
「検索コレクションが正常に作成されました」のメッセージが表示されます。

8.構成の配備(反映)
追加した検索コレクションの設定を反映させる為、
「配備保留中」のリンクを押下します。
リンクを押下すると、別ウィンドウに「構成の配備」を行うための
画面が表示されますので、「配備」ボタンを押下します。

配備が完了した後、「閉じる」ボタンを押下しウィンドウを閉じます。

9.検索コレクションのドキュメントの追加

現時点で、検索コレクション用の設定は行いましたが、コレクション内に
データは存在しません。
そこで、仮に下記のURLにアクセスして、検索フィールドに文字列を入力しても
検索対象のデータが存在しないため、「検索結果が見つかりませんでした」という
文字列が表示されます。
http://VIRTUAL-SERVER-HOST:PORT/search
そこで、作成したコレクション内にHTML等の情報を含ませる必要があります。
先ほど、作成した「検索コレクション」より検索対象のコレクション
[AdminHelpCollection]のラジオボタンをチェックします。
そして、「ドキュメントの追加」ボタンを押下します。
すると下記の画面が表示されます。
ここに必要項目を入力して「了解」ボタンを押下します。

名前: AllData
*パターン: [*.html]
デフォルトエンコーディング: [Japanese auto-detect (JISAutoDetect)]
サブディレクトリ: [*] Included

10.インデキシングの終了確認
「了解」ボタンを押下すると自動的にインデキシングが開始されます。
インデキシングが開始されると、デフォルトの場合、下記のディレクトリに
インデックスが作成されていきます。

# pwd
/sun/webserver7/https-jse8-078/collections/jse8-078/AdminHelpCollection
# ls -l
合計 48
drwxr-xr-x 2 webservd webservd 512 3月 29日 15:21 converted
-rw-r–r– 1 webservd webservd 157 3月 29日 15:21 history
drwxr-xr-x 2 webservd webservd 512 3月 29日 15:21 index
drwxr-xr-x 2 webservd webservd 512 3月 29日 15:21 lock
-rw-r–r– 1 webservd webservd 19591 3月 29日 15:21 log

そして、インデックスの状態は下記のようにログファイル(log)に出力されます。

Log file for collection
created Thu Mar 29 15:21:16 JST 2007
[29/3/2007:15:21:17] IDX Adding documents:
[29/3/2007:15:21:17] IDX collection=AdminHelpCollection
[29/3/2007:15:21:17] IDX encoding=JISAutoDetect
[29/3/2007:15:21:17] IDX pattern=*.html
[29/3/2007:15:21:17] IDX /sun/webserver7/https-jse8-078/collections/jse8-078/AdminHelpCollection/index
…..中略
[29/3/2007:15:21:21] IDX Indexing /sun/webserver7/https-jse8-078/docs/help/p1.html
[29/3/2007:15:21:21] IDX Using charset UTF-8 for /sun/webserver7/https-jse8-078/docs/help/p1.html
[29/3/2007:15:21:21] MP Partition: 1, 96 documents, 7066 terms.
[29/3/2007:15:21:23] MP Finished dumping: 1 /sun/webserver7/https-jse8-078/collections/jse
8-078/AdminHelpCollection/index 2.914
[29/3/2007:15:21:24] IS 96 documents, 0.75 MB, 7.58 s, 356.00 MB/h
[29/3/2007:15:21:24] PM Waiting for housekeeper to finish
[29/3/2007:15:21:24] PM Shutdown /sun/webserver7/https-jse8-078/collections/jse8-078/Admin
HelpCollection/index AWord 1955941300
[29/3/2007:15:21:24] IDX succeeded

11.検索の確認

インデキシング作業が完了した後、実際に検索ができるかを確認してみます。
Web Serverのインスタンスが起動されていない場合起動し、
Webブラウザより検索用のURLにアクセスします。
ブラウザより下記のURLに接続してください。
http://VIRTUAL-SERVER-HOST:PORT/search
すると下記の画面が表示されます。

ここで、検索フィールドに検索キーワードを入力します。
たとえば、「コレクション」というキーワードを検索してみます。
すると下記の検索結果画面が表示されます。

以上で、全文検索ができるようになりました。
如何でしょう?
Apache + 全文検索エンジンに比べ非常に分かりやすく、
また非常に簡単に検索できるようになりました。

次回は、PDFや検索画面のカスタマイズについて報告したいと思います。

PS.
次回のアップデートは1週間後位になるかもしれません。(^_^;)

広告

Entry filed under: SJS Web Server 7.

Sun Java System Web Server 7.0 日本語版販売開始 QA1 : JSF(Servlet)の対応バージョンについて


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2007年3月
« 1月   4月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 987,455 hits

Feeds


%d人のブロガーが「いいね」をつけました。