目次
このマニュアルについて
第 1 章 iPlanet Web Server の基礎知識
第 2 章 iPlanet Web Server の管理
第 3 章 管理プリファレンスの設定
第 4 章 ユーザとグループの管理
第 5 章 サーバ セキュリティ
第 6 章 サーバ クラスタの管理
第 7 章 サーバのプリファレンスの設定
第 8 章 ログ ファイルの理解
第 9 章 SNMP によるサーバのモニタ
第 10 章 サーバの設定によるパフォーマンス チューニング
第 11 章 プログラムによるサーバの拡張
第 12 章 コンフィグレーション スタイルの操作
第 13 章 サーバのコンテンツ管理
第 14 章 サーバへのアクセスの制御
第 15 章 Web パブリッシングの設定
第 16 章 検索機能の使用
付録 A HTTP (HyperText Transfer Protocol)
付録 B ACL ファイルのシンタックス
付録 C 国際化 iPlanet Web Server
付録 D Microsoft FrontPage のサーバ拡張機能
付録 E iPlanet Web Server
用語集
索引
戻る 次へ 目次 索引 ブックシェルフ


第 16 章 検索機能の使用

iPlanet Web Server の検索機能を使うと、サーバ上のドキュメントのコンテンツおよび属性を検索することができます。サーバ管理者は、ユーザのコミュニティに合わせてテキスト検索インターフェイスをカスタマイズすることができます。

ノート Linux プラットフォームでは、 検索機能を使うことはできません。

この章には次の節があります。


検索について
特定のファイル形式に使用可能な変換フィルタがある場合、サーバ ドキュメントは HTML、Microsoft Excel、Adobe PDF、WordPerfect などのさまざまな形式で作成することができます。フィルタによってサーバでドキュメントが HTML に変換されると索引が作成され、その結果、Web ブラウザを使って、検索されたドキュメントを表示できるようになります。詳細については、コレクションについてを参照してください。

ユーザは、特定の単語や属性値に対してサーバ ドキュメント全体を検索し、クエリに一致するすべてのドキュメントを一覧表示する検索結果のセットを取得することができます。これによって、サーバ コンテンツへの簡単なアクセスが提供されます。

サーバ管理者は、どのユーザやグループがテキスト検索機能を使う権限があるか、およびどのドキュメントにアクセスできるかの制限、テキスト検索機能がどのように動作するかを管理するコンフィグレーション ファイルの変更、検索クエリおよび結果ページのカスタマイズを行うことができます。

サーバで検索機能を有効化するには、まず、サーバに必要な特殊な設定を識別し、検索設定ウィンドウを使ってそれらを入力します。次に、検索用に使うドキュメントのディレクトリを指定し、コレクションと呼ばれる検索可能なデータベースにドキュメント情報の索引を作成する必要があります。次の節では、検索の設定およびコレクションの索引作成方法の詳細を説明します。

ノート Web パブリッシング コレクションが存在しないか、または削除されていると、検索は機能しません。検索が機能しない場合は、Web パブリッシング機能をオンにして (デフォルト)サーバを再起動し、もう一度検索を実行してください。

Web パブリッシングの前に検索がオンになっていると、強制索引作成が実行されるまでデフォルトのコレクションは作成されません。これは、Web パブリッシングが検索の後に有効になった場合のみ発生します。Web パブリッシング コレクションが検索に表示されない理由は、検索の初期化が実行されるときに、コレクションが作成されていないからです。サーバを再起動すると正しく表示されます。


テキスト検索機能の設定
特定のサーバにさまざまな検索機能を設定することができます。コレクション固有の設定や検索時にすべてのコレクションに適用される設定があります。コレクション固有の設定は、特定のコレクションにドキュメントの索引が作成される方法に影響を与えるので、コレクションを作成する前に定義する必要があります。その他の設定アクションは、検索に影響を及ぼすだけなので、いつでも定義することができます。

コレクション固有の設定アクションは次のとおりです。

  • 索引を作成するドキュメント ディレクトリに URL マッピングを定義する。
すべてのコレクションに影響を与える設定は次のとおりです。

  • ファイルおよびディレクトリのアクセス コントロールを確立する。
この節では、次のトピックについて説明します。

検索アクセスのコントロール
検索機能は、サーバのデフォルトである ACL データベースにアクセスします。サーバ上のドキュメントおよびディレクトリへのアクセスを制限するには、明示的なアクセス コントロール リスト (ACL) ルールを定義するか、またはデフォルトのアクセス コントロール定義に従います。Administration Server のユーザおよびグループ機能を使って、ユーザをサーバのアクセス コントロール データベースに追加することができます。アクセス コントロールの設定の詳細については、サーバへのアクセスの制限を参照してください。

検索パラメータの設定で説明するように、[Search] を選択し、[Search] リンクをクリックすることによって、アクセスパーミッションを確認してから検索結果を表示するようにサーバを設定することができます。 このオプションを設定すると、検索クエリの結果を返す前にサーバによってユーザのアクセス パーミッションが確認され、ユーザが認証された後で結果が表示されます。

URL のマッピング
ユーザがコレクションのファイルから検索する場合、検索結果として返されるドキュメントでは、部分 URI (Uniform Resource Identifier) を使ってユーザが識別されます。これは、ユーザにファイルの絶対物理パス名がわからないようにするセキュリティ機能です。URI を設定するには、アディショナル ドキュメント ディレクトリに URL をマッピングします。

たとえば、ファイルのパスが server_root/Docs/marketing/bizplans/planB.doc の場合、ユーザが最後のディレクトリを除くすべてのディレクトリを見ることができないようにマッピングを設定するには、plans のURL プレフィックスを定義し、それを server_root/Docs/marketing/bizplans にマッピングします。 このように設定しておけば、ユーザはファイル検索時に「/plans/planB.doc」と入力すればよいだけです。詳細については、サーバのコンテンツ管理を参照してください。

ソフトウェア仮想サーバの doc root の追加方法については、ソフトウェア仮想サーバのドキュメント ルートの追加を参照してください。

ノート デフォルトでは、リダイレクトされる URL は常にエスケープされます。これを避けるには、escape="no" を追加します。例は次のとおりです。

iPlanet Web Server では、次の 5 つのデフォルト マッピングが提供されます。

  • /最初に server_root/docs にマッピングするプライマリ ドキュメント ディレクトリ (ドキュメント ルートと呼ばれることもある)
  • /helpほとんどのヘルプ ファイルのディレクトリ
  • /search-uiほとんどの検索インターフェイス ファイルのディレクトリ
  • /webpub-uiほとんどの Web Publisher インターフェイス ファイルのディレクトリ
  • /publisherほとんどの Web Publisher ファイル iPlanet Web Server のディレクトリ
コレクションを作成する場合、索引を作成するドキュメント ディレクトリを指定する必要があります。マップ ディレクトリ内に URL マッピングまたはサブディレクトリがあるディレクトリのみが選択可能です。独自のマッピングを作成して、特定のディレクトリを定義することができます。そのためには、次の手順を実行します。

  1. [Server Manager] から [Content Management] を選択します。
  2. [Additional Document Directories] リンクをクリックします。
  3. 定義するアディショナル ドキュメント ディレクトリに URL をマッピングする通称を入力します。
  4. URL マッピングを行うディレクトリの絶対物理パスを入力します。
  5. ディレクトリにスタイルを適用する場合は、[Apply Style] ドロップダウン リストからスタイルを選択します。
  6. [OK] をクリックして、アディショナル ドキュメント ディレクトリを作成します。
  7. ノート アディショナル ドキュメント ディレクトリに基づいてコレクションを作成 した後で、URL マッピングを変更することはできません。また、コレクショ ンのエントリによって、URL マッピングのターゲットが間違った物理ファイ ル位置に向けられます。

検索しない単語の指定
検索エンジンで索引を作成しない単語や検索しない単語を指定することができます。 これらの単語はストップ ワードまたは検索から除外する単語と呼ばれ、通常は、at、and、be、for、the などの冠詞、接続詞、または前置詞です。

ストップ ワードを指定するには、style.stp という名前のファイルを編集する必要があります。このファイルは、ディレクトリ server_root\plugins\ search\common\style 内の各コレクション タイプの個々のサブディレクトリ htmlpdfmail、および news に存在します。各 style.stp ファイルによって、そのコレクション タイプのストップ ワードが制御されます。たとえば、server_root\plugins\search\common\style\html 内の style.stp ファイルによって、コレクション内の html ファイルのストップ ワードが制御されます。

style.stp には、1 行あたり 1 つのストップ ワードを左揃えで追加します。文字クラスを表す角カッコ ([ ])、任意の文字を表すピリオド (.)、繰り返しを表すプラス記号 (+) などの演算子を使うことができます。たとえば、style.stp ファイルには次のような行が含まれます。

この例では、ファイルのデフォルトによる最初の行のピリオドは、at、and、be という単語だけでなく、40 文字以上の単語の索引が作成されないことを示します。[0-9a-zA-Z] は、すべての 1 文字の単語に索引が作成されないことを示します。[0-9][0-9][0-9][0-9]+ は、4 桁以上のすべての整数に索引が作成されないことを示します。

指定する単語は大文字と小文字が区別されるので、単語の大文字と小文字のバリエーションをすべて検索から除外する場合、すべてのバリエーションを入力する必要があります。たとえば、「the」、「THE」、または「The」と入力します。

検索から除外する単語のリストを設定してから、コレクションを作成してください。コレクションを作成した後で、 検索から除外する単語のリストを変更する必要がある場合は、コレクションの削除、コレクション タイプの 検索から除外する単語のリストの変更、コレクションの再作成、およびコレクション内のすべてのドキュメントの索引の再作成が必要です。

検索のオンとオフ
サーバの検索機能のオンとオフを切り替えることができます。ユーザが検索機能を使わない場合、サーバの検索をオフにすると、サーバのパフォーマンスが向上します。また、サーバのトラフィックが激しくなることがわかっているときに検索機能をオフにし、トラフィックが少なくなったときのためにこの機能を残しておくこともできます。

検索をオフにした場合、HTTP サーバの起動時に検索プラグインはロードされません。デフォルト値は検索をオフにすることです。

ノート 検索がオフになっていると、Web Publisher の Find Broken Links 機能を使うことはできません。この機能では、その操作の一部として検索が実行されるからです。

検索機能をオフにするには、サーバ マネージャの 「Search State」ページを使います。

検索パラメータの設定
サーバ管理者は、ユーザが検索結果を取得するときに表示される内容を管理するデフォルトのパラメータを設定することができます。

検索パラメータを設定するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [ Search Configuration] リンクをクリックします。
  3. 一度にユーザに表示される検索結果項目のデフォルトの最大数を入力します。
  4. リザルト セットの項目の最大数を入力します。
  5. 日付/時刻文字列の形式を Posix 形式で入力します。
  6. ドキュメントの作成者が、HTML の Title タグが付いたタイトルをドキュメントの一部として含めていない場合に使うドキュメントのデフォルトのタイトルを入力します。
  7. ユーザのコレクションへのアクセス パーミッションを確認してから検索結果を表示する場合、[Check access permissions on collection root before doing a search?] というラベルの下の [Yes] をクリックします。
  8. [OK] をクリックして、新しい検索設定を完了します。

表 16.1 一般的なPosix 形式の日付と時刻

形式
表示される内容 (例)
%a
省略形の曜日 (Wed)
%A
フル スペルの曜日 (Wednesday)
%b
省略形の月 (Oct)0
%B
フル スペルの月 (October)
%c
現在の地域用にフォーマットされた日付と時刻
%d
10 進数による日 (01 〜 31)
%H
10 進数による時間、24 時間の軍用形式 (00 〜 23 )
%m
10 進数による月 (01 〜 12)
%M
10 進数による分 (00 〜 59)
%x
日付
%X
時刻
%y
世紀なしの年 (00 〜 99)
%Y
世紀付きの年 (1999)

パターン ファイルの設定
パターン ファイルとは、テキスト検索インターフェイスのレイアウトを定義する HTML ファイルです。検索機能およびインターフェイスの特定の部分を作成するパターン変数のセットとパターン ファイルを関連付けることができます。パターン ファイルで、テキスト検索インターフェイスの外観、感じ、および機能を定義します。パターン ファイルでは、背景色、ヘルプ テキスト、バナーなどのカスタマイズに使用できるパターン変数が使われます。これらの変数が表す実際のテキストやグラフィックを含むファイルへのパス名が値となる場合があります。また、値がテキストや HTML を表す場合もあります。

デフォルトのパターン ファイルを使ったり、独自にカスタマイズしたファイルのセットを作成した後でそれらのファイルを指定したりすることができます。ユーザ インターフェイスの変更方法の詳細については、検索インターフェイスのカスタマイズを参照してください。

特定の検索リクエストに関連付けられているデフォルトのパターン ファイルを、検索機能を使って検索する場所を定義するには、ファイルのパスを指定する必要があります。

パターン ファイルを設定するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [ Search Pattern Files] リンクをクリックします。
  3. パターン ファイルを保存するディレクトリの絶対パスを入力します。
  4. コレクションに定義済みのヘッダ ファイルがない場合や複数のコレクションを検索する場合は、検索結果ページのヘッダに使うデフォルトのパターン ファイルの相対パス名を入力します。
  5. コレクションに定義済みのフッタ ファイルがない場合や複数のコレクションを検索する場合は、検索結果ページのフッタに使うデフォルトのパターン ファイルの相対パス名を入力します。
  6. 検索機能を開始するときに表示される検索クエリ ページに使うパターン ファイルの相対パス名を入力します。
  7. [OK] をクリックして、検索パターン ファイルを設定します。
手作業によるファイルの設定
検索機能によって、サーバにどのように検索が設定されているかを確認するためにコンフィグレーション ファイルが検査されます。コンフィグレーション ファイルでは、システム設定、ユーザ定義の変数、および検索コレクションに関する情報が定義されます。通常、iPlanet Web Server の検索ページからこの情報を変更しますが、テキスト エディタを使って手作業でファイルを変更することもできます。ユーザ インターフェイスをカスタマイズするためのコンフィグレーション ファイルの変更については、検索インターフェイスのカスタマイズを参照してください。

ノート コンフィグレーション ファイルを手作業で変更することはお勧めしません。 変更した場合は、サーバを再起動して変更内容を反映させてください。

この節では、次のトピックについて説明します。

コンフィグレーション ファイル
検索を管理するコンフィグレーション ファイルは次のとおりです。

  • webpub.confこのシステム コンフィグレーション ファイルには、システム設定およびファイルのパスが保存されます。サーバの obj.conf ファイルでは、検索システムの初期化が webpub.conf ファイルにマッピングされます。 [Search Configuration] および [Search Pattern Files] ウィンドウを使うと、入力したデータが webpub.conf ファイルに反映されます。webpub.conf ファイルの設定を変更することによってサーバの検索設定をカスタマイズすることもできますが、通常は、iPlanet Web Server のウィンドウから必要な変更を行うことができます。
  • userdefs.iniこのユーザ定義ファイルでは、ユーザ定義のパターン変数が定義されます。webpub.conf ファイルでは、このパターン変数が、使う言語 (英語、ドイツ語、日本語など) の userdefs.ini ファイルにマッピングされます。
  • dblist.iniこのコレクション コンテンツ ファイルには、コレクション固有の情報が記述されます。コレクションを作成および管理する場合、dblist.ini ファイルは、コレクションに関する情報によって更新されます。
属性の最大数の調整
コレクションには、ファイル形式によって異なるさまざまなデフォルト属性セットがあります。たとえば、HTML ファイルには TitleSourceType があります。また、HTML ファイルに META タグ付きのHTML 属性を定義することもできます。PDFのように、非常に多くのデフォルト属性を持つファイル形式もあります。各ファイル形式の属性の詳細については、コレクションの属性について表 16.2 を参照してください。

[Add Custom Property] ウィンドウを使って、Web パブリッシング コレクションにプロパティを追加することができます。次に、デフォルトの最大設定を示します。

これらの最大設定は webpub.conf ファイルで変更することができますが、属性のセットが大きくなると、サーバのパフォーマンスに悪影響を与えます。テキストに 100 を超える最大数、日付および数値に 50 を超える最大数を設定することはできません。

設定を変更するには、webpub.conf ファイルの [NS-loader] セクションを手作業で編集して、属性の最大数を定義する必要があります。たとえば、3 つの値すべてを変更するには、次の行を使うことができます。

ノート 追加の属性を既存のコレクションで使うことはできません。後で作成したコレクションでのみ使用できます。検索コレクションで追加の属性を使うには、[Maintain Collection] ウィンドウ ([Search] を選択して [Maintain Collection] リンクをクリックする) を使ってコレクションを削除してから、[New Collection] ウィンドウ ([New Collection] リンクをクリックする) を使って新しいコレクションを作成する必要があります。Web パブリッシング コレクションで新しい属性を使う場合は、ファイル システムを使って、検索コレクション ディレクトリから web_htmlink_mgr の両方のコレクション ファイルを削除した後、サーバを再起動する必要があります。

索引作成用のメモリの制限
索引作成操作に使用可能な RAM の量に制限を設定することができます。そのためには、webpub.conf ファイルの [NS-loader] セクションを手作業で編集して、最大のメモリ量を定義する行を追加する必要があります。たとえば、次のような行を追加します。

デフォルトでは、システムで提供できる使用可能なすべてのメモリをサーバで使うように設定されています。索引作成に使われる RAM を制限する必要がある最も一般的なケースは次のとおりです。

  • サーバが、推奨最低条件である RAM が搭載されていないマシンにインストールされている場合。
  • Windows NT サーバのサーバ管理者が、大量の索引を作成する必要があるが、他のサーバ操作用にメモリを取っておきたい場合。
索引ファイル サイズの制限
索引ファイルに使用可能なディスク容量を制限することができます。そのためには、webpub.conf ファイルの [NS-loader] セクションを手作業で編集して、索引ファイルの最大サイズを定義する必要があります。たとえば、次のように定義します。

通常、索引作成操作には、1 ファイルあたり約 1.5MB のディスク容量が必要です。1 つの一時ファイルを含む 2 つのファイルがあるので、索引作成には 3MB のディスク容量が必要になります。ファイル サイズを 1 ファイルあたり 1.5MB に設定すると、各ファイルの最大サイズが制限されます。

Web パブリッシング コレクションへのアクセスの削除
Web パブリッシングは、ユーザの標準検索クエリ ページの [Search In] フィールドに表示されます。このフィールドから Web パブリッシング コレクションを削除するには、次のように dblist.ini ファイルを編集する必要があります。

  1. [web_htm] セクションで、"NS-display-select=YES" を "NS-display-select=NO" に変更します。
  2. サーバを再起動します。

ドキュメントの索引作成
ユーザが検索を実行するには、検索の対象にすることができる検索可能なデータのデータベースが必要です。そのためには、コンテンツおよびファイルのプロパティなどのドキュメントに関する情報に索引を作成して保存するコレクションと呼ばれるデータベースを作成します。

検索には、検索を実行するファイルのコレクションが必要です。ドキュメントに索引が作成されると、タイトル、作成日、作成者などのコンテンツおよびファイルのプロパティが検索に使用可能になります。

コレクションからドキュメントを追加または削除することができます。必要に応じて、コレクションを最適化、更新、および管理することもできます。

ノート Web パブリッシング コレクションが存在しないか、または削除されていると、検索は機能しません。検索が機能しない場合は、Web パブリッシング機能をオンにして (デフォルト) サーバを再起動し、もう一度検索を行ってください。

この節では、次のトピックについて説明します。

コレクションについて
サーバ管理者がすべてまたは一部のサーバのドキュメントに索引を作成すると、そのドキュメントに関する情報がコレクションに保存されます。 コレクションには、ドキュメントの形式、ドキュメントで使われる言語、検索可能な属性、コレクション内のドキュメント数、コレクションの状態、コレクションの簡単な説明などの情報が含まれます。詳細については、コレクション コンテンツの表示を参照してください。

コレクションを作成する場合は、HTML、ASCII、ニュース、電子メール、PDF、複数の形式などのファイルの種類を指定します。これによって、どの属性に索引を作成するか、どういったファイル変換 (ある場合) を行う必要があるかなど、索引作成時に行われる操作が決まります。インストールしたkeyview フィルタがある場合、複数の形式によるコレクションのファイルは HTML に変換されます。詳細については次を参照してください。

ディレクトリ内のすべてのファイル、または HTML、PDF、*.doc ドキュメントなど、特定の拡張子が付いているファイルにのみ索引を作成することができます。

コレクションには、索引が作成されている各ドキュメントに関する情報を含むレコードがあります。ドキュメントがコレクションから削除される場合、そのドキュメントのコレクションのエントリのみが削除されます。元のドキュメントは削除されません。

複数のサーバ インスタンスがある場合、作成するコレクションは、そのコレクションが作成されたサーバ インスタンスのみに関連付けられます。したがって、ユーザは、そのサーバ インスタンスのコレクションしか検索することができません。

コレクションの属性について
表 16.2 のように、特定のファイル形式には、そのタイプのファイル用に索引が作成される属性のデフォルトのセットがあります。

表 16.2 各ファイル形式用に索引が作成されるデフォルトの属性
ファイル形式
属性
種類
説明
ASCII
(なし)
-
-
HTML
Title
テキスト
ファイルのユーザ定義のタイトル

SourceType
テキスト
ドキュメントの元の形式。Web パブリッシングおよびその他の複数形式のコレクションで使われます。
ニュース
From
テキスト
ニュース項目の発信元ユーザ ID

Subject
テキスト
ニュース項目の件名フィールドのテキスト

Keywords
テキスト
ニュース項目に定義されているキーワード

Date
日付
ニュース項目が作成された日付
電子メール
From
テキスト
電子メールの発信元ユーザ ID

To
テキスト
電子メールの送信先ユーザ ID

Subject
テキスト
電子メールの件名フィールドのテキスト

Date
日付
電子メールが作成された日付
PDF
InstanceID
テキスト
内部 ID 番号

PermanentID
テキスト
内部 ID 番号

NumPages
整数
ドキュメント内のページ数

DirID
テキスト
PDF ファイルが存在するディレクトリ

FTS_ModificationDate
日付
ドキュメントの最終変更日

FTS_CreationDate
日付
ドキュメントの作成日

WXEVersion
整数
PDF ドキュメントからテキストを抽出するために使われた Adobe Word Finder のバージョン

FileName
テキスト
Adobe のファイル名の仕様

FTS_Title
テキスト
ドキュメントのタイトル

FTS_Subject
テキスト
ドキュメントの件名

FTS_Author
テキスト
ドキュメントの著者

FTS_Creator
テキスト
ドキュメントの作成者

FTS_Producer
テキスト
ドキュメントの生産者

FTS_Keywords
テキスト
ドキュメントのキーワード

PageMap
テキスト
ページの単語のインスタンスを記述するページ マップ

デフォルトでは、HTML コレクションには Title および SourceType 属性がありますが、HTML <META> タグが付けられた最大 30 のファイル属性を検索してソートできるように索引を作成することができます。属性の最大数の調整で説明したように、ファイル属性の最大設定は webpub.conf で変更することができます。

たとえば、ドキュメントには次のような HTML コードの行があります。

このドキュメントが、抽出された META タグを使って索引が作成されていれば、Writer または Product フィールドの特定の値を検索することができます。 たとえば、Writer <contains> Hunter または Song <contains> Blueのようなクエリの入力が可能です。

ノート META タグ付きのフィールド内の属性値はテキスト文字列のみです。つまり、日付および数値は、日付や数値としてではなくテキストとして保存されます。 また、META タグ付きの属性内の不正な HTML 文字は、ハイフンで置換されます。[Add Custom Property] ウィンドウ ([Web Publishing] を選択して [Add Custom Property] リンクをクリックする) を使って、テキスト形式の日付および数値を再定義すると、Web パブリッシング コレクション内のデータの実際の日付および数値に基づいて検索を実行することができます。

新規コレクションの作成
ディレクトリ内のすべてまたは一部のファイルのコンテンツに索引が作成されるコレクションを作成することができます。1 種類のファイルのみを含むコレクションを定義したり、索引作成時に自動的に HTML に変換されるさまざまな形式のドキュメントのコレクションを作成したりすることができます。自動変換オプションを設定して複数の形式のコレクションを定義する場合は、まずインデクサーでドキュメントを HTML に変換してから、HTML ドキュメントのコンテンツの索引を作成します。変換された HTML ドキュメントは、サーバの検索コレクション フォルダ内の html_doc ディレクトリに格納されます。

サーバで所有できるのは 12 個のコレクションのみで、そのうち Web パブリッシングを使うサーバのユーザ定義コレクションは、10 個以下に制限されています。13 個目のコレクションを使う場合は、既存のコレクションのいずれかを削除する必要があります ([Search] を選択して [Maintain Collection] をクリックする)。サーバにある Web パブリッシング コレクションは削除しないでください。

コレクション内には最大 1,600 万個のドキュメントのエントリを所有することができます。複数のコレクションで索引が作成されているドキュメントは、複数のドキュメントとして数えます。10,000 個以上のドキュメントを持つ新しいコレクションを作成する場合は、トラフィックが少ないときに作成することをお勧めします。そうしないと、索引作成操作によってシステムのパフォーマンスに影響が生じます。

ノート コレクションを作成するには、システムに最低 3MB の使用可能なディスク容量が必要です。索引ファイルのサイズを制限する方法の詳細については、索 引ファイル サイズの制限を参照してください。

新規コレクションを作成するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [New Collection] リンクをクリックします。
  3. 索引を作成するディレクトリを検索するには、まず、ドロップダウン リスト内の任意の項目を選択します。
  4. 異なるサブディレクトリの索引を作成する場合、[View] ボタンをクリックして、リソースのリストを表示します。
  5. 一覧表示されるディレクトリの索引を作成したり、表示されるディレクトリ内のサブディレクトリを表示して、そのうちの 1 つに索引を作成したりすることができます。ディレクトリの索引 リンクをクリックすると、[Create Collection] ウィンドウに戻り、そのディレクトリ名が [Directory to Index] フィールドに表示されます。
  6. 選択したディレクトリ内のすべての HTML ファイルに索引を作成するには、[Documents matching] フィールドのデフォルトの *.html パターンをそのままにするか、またはワイルドカード式を定義して、そのパターンに一致するドキュメントのみに索引を作成するように設定します。
  7. ノート

  8. 指定したディレクトリ内のサブディレクトリに索引を作成するには、[Include Subdirectories] をクリックします。
  9. [Collection Name] フィールドにコレクションの名前を入力します。
  10. ノート

  11. オプションの [Collection Label] フィールドに、コレクションのユーザ定義名を入力します。
  12. オプションの [Description] フィールドに、最大 1024 文字のコレクションの説明を入力します。
  13. ASCII、HTML、ニュース、電子メール、または PDF の中から、コレクションを保存するファイルの種類を選択します。
  14. 索引作成時に HTML ファイルから META タグ付きの属性を抽出するかどうかを選択します。
  15. ドロップダウン リストからコレクションの言語を選択します。
  16. [OK] をクリックして、新規コレクションを作成します。
  17. ノート コレクションの索引作成をいったん開始すると、索引作成が完了するか、またはシステムを再起動するまで処理を中止することはできません。サーバをシャットダウンしても、処理は強制終了されません。

コレクションの設定
最初にコレクションを作成した後、コレクションの設定を変更することができます。このデータは、コレクション情報ファイル dblist.ini にあり、コレクションを再設定すると、dblist.ini ファイルが更新されて、変更内容が反映されます。コンフィグレーション ファイルの詳細については、手作業によるファイルの設定を参照してください。 説明の修正、ラベルの変更、およびドキュメントへの異なる URL の定義を行うことができます。さらに、表示されるドキュメント内での強調表示の方法、使うパターン ファイル、および日付のフォーマット方法を定義することもできます。

ノート このウィンドウを使うと、実際のコレクション データは変更しないので、Web パブリッシングのデフォルトのコレクション web_htm の設定を変更することができます。このコレクションの設定を不必要に変更しないでください。

コレクションを設定するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [Configure Collection] リンクをクリックします。
  3. オプションの [Description] フィールドに、最大 1024 文字のコレクションの説明を入力することができます。
  4. オプションの [Collection Label] フィールドに、コレクションのユーザ定義の名前を入力することができます。
  5. 変更されている場合は、[URL for Documents] フィールドにコレクションのドキュメントの新しい URL マッピングを入力することができます。
  6. [Highlight Begin] および [Highlight End] フィールドに、表示されるドキュメントで検索クエリの単語またはフレーズを強調表示するときにサーバで使う HTML タグを入力することができます。
  7. 検索結果を表示するためのさまざまなデフォルトのパターン ファイル、つまり検索結果のヘッダ、フッタ、およびリストのエントリ行のそれぞれのフォーマット方法を定義することができます。
  8. [Result Pattern File] フィールドに、検索結果リスト内の強調表示された 1 つのドキュメントを表示するときに使うパターン ファイルの名前を入力することができます。
  9. [Date Format] フィールドで、このコレクションを使うときの入力日付の変換方法を指定することができます。 [MM/DD/YY]、[DD/MM/YY]、または [YY/MM/DD] から選択します。
  10. [OK] をクリックして、コレクションの設定を変更します。
コレクションの更新
最初にコレクションを作成した後、ファイルを追加したり、削除したりすることができます。ドキュメントを追加する場合、エントリがコレクションに追加されると、ファイルのコンテンツに索引が作成され、さらに必要に応じて変換されます。ドキュメントを削除する場合は、メタデータと共にファイルのエントリがコレクションから削除されます。この機能は、元のドキュメントに影響を与えません。コレクション内のエントリにのみ影響を与えます。

ノート このコレクションの作成時に、[Extract Metatags] オプションを選択していた場 合、新しいドキュメントをこのコレクションに追加すると、常に META タグ 付きの HTML 属性に索引が作成されます。

コレクションを更新するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [Update Collection] リンクをクリックします。
  3. ドロップダウン リストから更新するコレクションを選択します。
  4. [Documents Matching] フィールドで、1 つのファイル名を入力したり、ワイルドカードを使って、コレクションに追加またはコレクションから削除するファイルの種類を指定したりすることができます。
  5. ノート

  6. 最初にコレクションに定義されたドキュメント ディレクトリのサブディレクトリ内にある、一致するすべてのドキュメントの索引作成および追加を行うかどうかを選択します。
  7. [AddDocs] をクリックして、指定したファイルおよびサブディレクトリを追加します。
  8. [RemoveDocs] をクリックして、指定したファイルを削除します。
コレクションの管理
定期的にコレクションを管理することができます。 通常の使用については、定期的に管理タスクを行う必要はありませんが、多数のコレクションの索引作成および更新を行う場合、必要に応じてこれらの機能を使うことができます。次のコレクション管理タスクを実行することができます。

  • コレクションの最適化コレクションでドキュメントやディレクトリを頻繁に追加、削除、または更新する場合、コレクションを最適化して、パフォーマンスを向上させることができます。ハード ドライブのデフラグのようなものです。最適化は自動的に実行されないので、コレクションの再索引作成または更新後に手作業で最適化する必要があります。 コレクションを最適化するのは、コレクションを別のサイトにパブリッシュする前またはコレクションを読み取り専用の CD-ROM に保存する前に限られます。
  • 再索引コレクションの再索引作成を実行することができます。これは、既にコレクションにエントリを所有している各ファイルを検索し、その属性およびコンテンツに再び索引を作成する機能です。さらに、最初にファイルがコレクションに索引が作成されたときに、オプションを選択していた場合、META タグ付きの属性が抽出されます。この機能は、コレクションを作成するための元の条件、つまり *.html に戻らず、元の条件に一致する新しいドキュメントを追加します。また、ソース ドキュメントが削除されて見つからない場合、このオプションによって、コレクション エントリが削除されます。
  • 削除コレクションを削除することができます。 削除されるのは、元のソース ドキュメントではなく、コレクションのみです。
  • ノート

ローカル ファイル マネージャを使って、コレクション、特に Web パブリッシング コレクションを削除しないでください。誤って Web パブリッシング コレクションを削除した場合、サーバを再起動する前に検索を実行しようとすると、Web パブリッシング コレクションが使われていなくても検索に失敗します。サーバを再起動すると、新しい Web パブリッシング コレクションが自動的に作成されるので、検索を実行することができます。

コレクション管理タスクを実行するには、サーバ マネージャの「Maintain Collection」ページを使います。

定期的な管理のスケジューリング
定期的なコレクション管理スケジュールを設定することができます。 最適化および再索引作成のために異なる管理スケジュールを設定することもできます。通常の使用については、定期的な管理スケジューリング タスクを行う必要はありませんが、多数のコレクションの索引作成および更新を行う場合、必要に応じてこれらの機能を使うことができます。たとえば、新しいドキュメントが毎日追加される場合、非常に活発な Web サイトでは頻繁な再索引作成が必要なことがあります。

通常のタスクの組み合わせは、削除されたエントリの除去、およびコレクションの条件に一致する新しいドキュメントのエントリの追加を行うように定期的にスケジュールされた再索引作成と更新オペレーションのペアの設定です。

コレクションでドキュメントやディレクトリを頻繁に追加、削除、または更新する場合、コレクションを最適化して、パフォーマンスを向上させることができます。ハード ドライブのデフラグのようなものです。最適化は自動的に実行されないので、コレクションの再索引作成または更新後に手作業で最適化する必要があります。 コレクションを最適化するのは、コレクションを別のサイトにパブリッシュする前またはコレクションを読み取り専用の CD-ROM に保存する前に限られます。

コレクションの再索引作成を実行することができます。これは、コレクションにエントリを所有している各ファイルを検索し、その属性およびコンテンツに再び索引を作成する機能です。さらに、最初にファイルがコレクションに索引が作成されたときに、オプションを選択していた場合、META タグ付きの属性が抽出されます。この機能では、新しいドキュメントのエントリは追加されませんが、削除されたファイルへのエントリを削除することによってコレクションをクリーンアップします。

コレクションを更新するには、コレクションの新しい索引作成条件 、つまり、条件に一致する新しいドキュメントを追加する *.html を入力します。

コレクションの最適化、再索引作成、または更新を行うには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [Schedule Collection Maintenance] リンクをクリックします。
  3. ドロップダウン リストからコレクションを選択します。
  4. ドロップダウン リストから [Reindex]、[Optimize]、または [Update] のうちの 1 つのアクションを選択します。
  5. コレクションの更新を選択した場合、ドキュメント一致条件を入力するフィールドと、条件に一致するサブディレクトリ内で検索されたドキュメントが表示されるフィールドの 2 つのフィールドが追加表示されます。
  6. [Schedule Time] フィールドに、スケジュールされた管理を実行する時刻を入力します。
  7. [Schedule Day(s) of the Week] というラベルがついたセクションで、1 つまたは複数の曜日のチェックボックスをオンにします。
  8. [OK] をクリックして、管理をスケジュールします。
Unix/Linux ユーザの場合、新しくスケジュールした管理を有効にするには、Administration Server から ns-cron プロセスを再起動する必要があります。

ns-cron プロセスを再起動するには、次の手順を実行します。

  1. Administration Server で [Global Settings] を選択します。
  2. [Cron Control] リンクをクリックします。
  3. ns-cron が既にオンになっている場合は、[Restart] をクリックして再起動します。ns-cron がオンになっていない場合は、[Start] をクリックして、開始します。
コレクション管理スケジュールの削除
コレクションの定期的な再索引作成または最適化をスケジュールしている場合、コレクションを定期的に管理する必要がなくなると、管理スケジュールを削除することができます。

コレクション管理スケジュールを削除するには、次の手順を実行します。

  1. [Server Manager] から [Search] を選択します。
  2. [Remove Scheduled Collection Maintenance] リンクをクリックします。
  3. [Choose Collection] ドロップダウン リストからコレクションを選択します。
  4. ドロップダウン リストから [Reindex] または [Optimize] のいずれかのアクションを選択します。
  5. 枠の下部に、現在スケジュールされている管理の実行時刻と曜日が表示されます。
  6. [OK] をクリックして、管理スケジュールを削除します。
Unix/Linux ユーザの場合、新しくスケジュールした管理を有効にするには、ns-cron プロセスを再起動する必要があります。

ns-cron プロセスを再起動するには、次の手順を実行します。

  1. Administiration Server で[Global Settings] を選択します。
  2. [Cron Control] リンクをクリックします。
  3. ns-cron が既にオンになっている場合は、[Restart] をクリックして再起動します。ns-cron がオンになっていない場合は、[Start] をクリックして、開始します。

検索の実行 : 基本事項
ユーザは、主に、検索コレクション内のデータについて質問し、代わりにドキュメントのリストを取得します。iPlanet Web Server をインストールすると、デフォルトの検索クエリおよび結果のフォームのセットが付属しています。

テキスト検索機能には、次の 4 つの部分があります。

  • クエリの作成検索条件を入力します。
  • 検索結果の表示サーバによって、条件に一致するドキュメントのリストが表示されます。
  • ドキュメントの表示検索結果リストから特定の強調表示されたドキュメントを表示することができます。
  • コレクションのコンテンツの表示コレクションのそれぞれについて管理されている情報を表示することができます。
  • ノート

検索機能がオフになっていると、これらのクエリ フォームを使うことができません。

この節では、次のトピックについて説明します。

検索ホームページ
検索ホームページ (http://serverid:port/search) では、インターフェイスのカスタマイズに関するオンラインのクイックスタート チュートリアルだけでなく、3 つの検索クエリ インターフェイスへの個々のリンクが提供されます。チュートリアルでは、さまざまなパターン ファイルについて説明し、それらを変更して異なる結果を生成する方法を示します。

検索クエリ
iPlanet Web Server をデフォルトでインストールした場合は、標準の HTML クエリ、高度な HTML クエリ、および Java ベースのガイド付きクエリの 3 つの検索クエリ ページがインストールされます。

標準の検索クエリでは、検索するコレクションを選択し、クエリ言語演算子を使って、検索する単語やフレーズを入力します。

ガイド付きの Java ベースの検索インターフェイスでは、多数のドロップダウン リストを使って、簡単にクエリを作成することができます。このインターフェイスが取得できるのは、ブラウザで Java が使用可能な場合だけです。

高度な HTML ページには、検索する複数のコレクションの選択、結果のソート順序の設定、および一度に 1 ページに表示するドキュメント数の定義を行う追加のオプションがあります ([Prev] および [Next] ボタンをクリックすると、結果のページ間を移動することが可能)。

ノート [Web Publishing] | [Add Custom Property] によって、Web パブリッシング コレクション内の HTML の META 属性値を日付または数字のプロパティとして再定義している場合は、それらの属性値に対して日付および数字の比較検索を実行することしかできません。

標準検索を実行するには、次の手順を実行します。

  1. Web ブラウザの場所フィールドに次の URL を入力します。
  2. 表示される検索クエリ ページで、[Search In] フィールドのドロップダウン リストから検索するコレクションを選択します。
  3. [For] フィールドに検索クエリの単語またはフレーズを入力します。複雑なクエリは、演算子を組み合わせて作成します。検索演算子の詳細については、クエリ演算子の使用を参照してください。
  4. [Search] ボタンをクリックして、クエリを実行します。
ガイド付き検索
クエリの作成に便利な Java ベースのガイド付き検索インターフェイスの使用を選択することができます。このインターフェイスは、特に複数の部分から構成されるクエリ、つまり、ドキュメントのコンテンツ内の単語および特定の属性値を検索するクエリを作成する場合に便利です。

ノート ご使用のブラウザで Java が使用可能なことを確認してください。有効にするには、[Languages] オプション プリファレンス メニュー コマンドを使います。

ノート バージョン管理機能および リンク管理の属性は、現在、iPlanet Web Server では使われていません。ただし、ガイド付き検索を実行すると、iPlanet Web Server によってそれらの属性が返される場合があります。したがって、これらの変数を使わないでください。

ガイド付き検索ページを取得するには、2 つの方法があります。[Search] ホームページを使う方法と標準検索クエリ ページを使う方法です。

[Search] ホームページからガイド付き検索インターフェイスにアクセスするには、次の手順を実行します。

  1. Web ブラウザの場所フィールドに次の URL を入力します。
  2. ホームページ上で [Guided Search] をクリックします。
標準検索クエリ ページからガイド付き検索インターフェイスにアクセスするには、次の手順を実行します。

  1. 標準検索クエリ ページにジャンプするには、Web ブラウザの [location] フィールドに次の URL を入力します。
  2. 標準検索ページ上で [Guided Search] をクリックすると、ガイド付きの Java ベースのクエリ ページが表示されます。
  3. [Search In] フィールドのドロップダウン リストから検索するコレクションを選択します。
  4. [For] ドロップダウン リストを使って、検索対象の要素の種類を選択します。この例では、[Words] を選択してください。
  5. 空白のテキスト フィールドに、検索対象の単語を入力します。検索演算子の詳細については、クエリ演算子の使用を参照してください。
  6. [Add Line] をクリックして、クエリの最初の部分を追加します。その単語は、フォームの下部にある大きなテキスト表示ボックスに表示されます。
  7. クエリに追加するには、ドロップダウン リストから別の要素を選択します。この例では、[Attribute] を選択してください。
  8. フォームの右側に、選択したコレクションに使用可能なすべての属性を一覧表示する新しいドロップダウン リストが表示されます。検索する属性を選択してください。
  9. テキスト入力フィールドの上のドロップダウン リストから、クエリ演算子 (Contains、Starts、Ends、Has a substring) または論理演算子 (=、<、<=、=) を選択します。
  10. 空白のテキスト フィールドに、検索対象の属性値を入力します。
  11. [Add Line] をクリックし、クエリ用の別の行を追加します。[Undo Line] をクリックして最後に追加した行を削除したり、[Clear] を選択してクエリ全体を削除したりすることができます。
  12. [Search] ボタンをクリックして、検索を実行します。
高度な検索
クエリの作成に役立つ高度な HTML 検索インターフェイスの使用を選択することができます。このインターフェイスは、特に複数のコレクションを検索するクエリまたは特定の属性値によってソートされる結果を生成するクエリを作成する場合に便利です。

高度な HTML 検索ページを取得するには、2 つの方法があります。[Search] ホームページを使う方法と標準検索クエリ ページを使う方法です。

[Search] ホームページから高度な HTML 検索にアクセスするには、次の手順を実行します。

  1. Web ブラウザの場所フィールドに次の URL を入力します。
  2. ホームページ上で [Advanced HTML Search] リンクをクリックします。
標準検索クエリ ページから高度な HTML 検索にアクセスするには、次の手順を実行します。

  1. 標準検索クエリ ページにジャンプするには、Web ブラウザの [location] フィールドに次の URL を入力します。
  2. ブラウザで Java を無効にします。無効にするには、[Languages] オプション プリファレンス メニュー コマンドを使います。
  3. 標準検索ページ上で [Guided Search] をクリックすると、高度な HTML クエリ ページが表示されます。
  4. [For] フィールドに、検索対象の単語またはフレーズを入力します。複雑なクエリは、演算子を組み合わせて作成します。検索演算子の詳細については、クエリ演算子の使用を参照してください。
  5. 1 つまたは複数の属性を入力し、それによって結果をソートすることができます。デフォルトでは、昇順でソートされますが、マイナス記号を使うと降順を指定することもできます。ソートの詳細については、結果のソートを参照してください。
  6. 検索結果ページ内で各ドキュメントに一覧表示されるフィールド数または一度に表示するフィールド数によって、検索で一度に返される一致ドキュメントの数を拡大したり、制限したりすることができます。返されるドキュメントが多すぎて一度に 1 ページに表示できない場合は、[Prev] および [Next] ボタンを使ってドキュメントのその他のページにアクセスすることができます。
  7. [Search In] フィールドのドロップダウン リストを使って、検索するコレクションを選択します。複数のコレクションを選択するには、Ctrl キーを押しながら別のコレクションをクリックします。 クエリ内のすべてのコレクションは同じ言語である必要がありますが、Web パブリッシング コレクションを複数コレクション検索で使うことはできません。
  8. [Search] ボタンをクリックして、クエリを実行します。
検索結果
検索結果には、次の 2 つの標準的な種類があります。検索条件に一致するすべてのドキュメントのリストと、一致するドキュメントのリストから選択した 1 つのドキュメントのテキストです。

アクセス パーミッションは、検索時の次の時点でチェックされます。

  • 検索結果のドキュメントに表示される、強調表示されたアイコンをユーザがクリックした場合。
  • NS-collection-acl-check オプションが yes に設定されている Web パブリッシング以外のコレクションで検索する場合。NS-collection-acl-check は webpub.conf ファイルで設定され、すべてのコレクションに適用されます。このオプションが設定されている場合、 dblist.ini でコレクションに定義されているプライマリ ドキュメント ディレクトリに一致する URI に設定される ACL は、それらのコレクションで検索を実行できないために処理されません。
  • ユーザが Web パブリッシング コレクション上で検索する場合。
一致したドキュメントの一覧表示
iPlanet Web Server をデフォルトでインストールした場合、単純または高度な検索クエリ ページから検索を実行すると、検索条件に一致するドキュメントのリストを取得することができます。リストでは、 コレクションの形式に基づいて、各ファイルに関する標準の情報が提供されます。たとえば、電子メール コレクションのデフォルトの結果ページでは、各エントリの件名、送信先、発信者、および日付が提供され、ニュース コレクションでは、各エントリの件名、発信者、および日付が提供されます。

コレクションのファイル形式の種類は、検索に使用可能なデフォルトの属性を示します。各形式の属性の詳細については、コレクションの属性についてを参照してください。

単語の比較近似性や一致の正確性をチェックする検索の結果によるエントリの場合は、得点を示すことによって、ファイルのランク付けを行うことができます。

一致するドキュメントがページに入りきらない場合は、[Next] をクリックして次のバッチを表示することができます。常に新しい検索を実行するには、新しいクエリ データを入力して [Search] をクリックします。

結果のソート
デフォルトで、または高度な HTML クエリ ページの [Sort By] フィールドに何も入力しなかった場合、検索に一致するすべてのドキュメントは、適合性ランク (これを考慮するクエリの場合) またはサーバ ファイル データベース内の位置 (その他のクエリの場合) に基づいて出力されます。

[Sort By] フィールドに属性名を入力すると、ドキュメントは昇順で表示されます。ドキュメントを降順で一覧表示するには、「-keywords」や「-title」のように、属性の前にマイナス記号 (-) を追加します。複数のソートを行うには、「Author,-PubDate」のように複数の属性を入力します。

短いクエリでは、通常、ソート順は重要ではありませんが、多数の一致結果が返されるクエリでは、効果的な検索結果を取得するためにソートの値を設定する場合があります。ただし、特別なソート順序によって、検索のパフォーマンスに影響が生じる可能性があります。

ノート META タグ付きフィールド内の属性値は、日付または数字としてではなく、テキストとしてソートされる日付および数字を意味するテキスト文字列です。この値を日付または数字に変換するには、 [Web Publishing] タブの「Add Custom Property」ページで新しいプロパティを作成し、そのプロパティを META タグ付きの属性としてマークするボックスをチェックします。

強調表示されたドキュメントの表示
iPlanet Web Server をデフォルトでインストールした場合、検索条件に一致するドキュメントのリストを取得すると、1 つのドキュメントを選択して Web ブラウザに表示することができます。パターン ファイルの設定方法に基づいて、色、太字のテキスト、または点滅を使って、検索クエリとして入力した、表示されたドキュメント内の単語を強調表示することができます。

強調表示されたドキュメントを表示するには、検索結果内のドキュメントのエントリをクリックします。 強調表示されたドキュメントのアクセスに使うフィールドは、検索インターフェイスの設計方法によって異なりますが、デフォルトのインストールでは、ドキュメントのリストの隣りに表示されるアイコンをクリックします。このアイコンをクリックすると、アイコンのリンクの背後で追加のコードが定義され、強調表示された検索クエリによって表示されるドキュメントがフォーマットされます。

デフォルトの検索結果ページでは、ファイルの URL をクリックすると、特別に強調表示しなくてもブラウザ内でファイルを開くことができます。

HTML に変換されているドキュメントの場合は、URL が元のドキュメントを指しています。変換された HTML ドキュメントにアクセスするには、ドキュメントのタイトルをクリックします。

コレクション コンテンツの表示
コレクション データベースのコンテンツを表示して、各コレクションに設定されている属性を参照することができます。 iPlanet Web Server をデフォルトでインストールした場合、HTML-description.pat ファイルを使うと、dblist.ini ファイルで表示可能 (NS-display-select = YES) と定義されている各コレクションの情報が表示されます。コレクション コンテンツには、通常、次の項目が含まれています。

  • コレクションの名前、ラベル、および説明
コレクション データベースのコンテンツを表示するには、次の URL を使います。


クエリ演算子の使用
検索を効果的に実行するには、クエリ演算子の使用法を知っておく必要があります。ブール値検索のみが可能なので、次の情報はすべてブール値検索のルールに基づくものです。

ノート クエリ言語では大文字と小文字を区別しません。例では、明確にする目的でのみ大文字を使います。

検索エンジンでは、シンタックス ルールのセットに基づいて検索クエリが解釈されます。 たとえば、region という単語を入力すると、実際の単語 region と、regions や regional など、すべての同語源のバリエーションが検索されます。検索結果は、"重要性" を基準にランク付けされます。これによって、一致した単語が最初に入力された検索条件にどの程度近似しているかが示されます。上記の例で、region は同語源の変形よりも上位にランク付けされます。

すべてのクエリで結果がランク付けされるわけではありません。 一致結果のさまざまな程度を設定できるクエリでのみランク付けを行うことができます。たとえば、<CONTAINS クエリは指定された文字列を含むか含まないかですが、<NEAR クエリは単語が相互にどの程度近似しているかによってランク付けすることができます。互いに近似している単語は検索結果の上部に表示され、違っている単語は検索結果の下部に表示されます。

この節では、次のトピックについて説明します。

デフォルトの前提
検索クエリ言語には、入力をどのように解釈するかを示す暗黙のデフォルトおよび前提があります。 デフォルトを回避できる場合もありますが、検索エンジンによって、検索結果として取得する内容がどのように決定されるかを次に示します。

  • <STEM検索では、検索単語またはフレーズの同語源の変形を含むすべてのドキュメントが検索されます。検索エンジンでは、単語のスペルだけでなく、単語の意味も調べます。たとえば、plan を検索すると、結果には、planning や plans を含むドキュメントは含まれますが、plane や planet を含むドキュメントは含まれません。
  • <MANY検索では、検索単語またはフレーズが検索するドキュメント内に現われる回数が考慮され、頻度 (または適合性) について結果がランク付けされます。
  • <PHRASE検索では、スペースで区切られた単語がフレーズの一部として考慮されます。たとえば、Monterey otter はフレーズとして解釈されるので、検索されるには 2 つの単語がいっしょに存在する必要があります。 このような検索の場合、sea otter or Monterey Bay を含むドキュメントは検索されません。
  • OR検索では、カンマで区切られたクエリ内の各単語またはフレーズがオプションとして考慮されます。ただし、少なくとも 1 つの単語が存在する必要があります。 実質的に、これは暗黙の OR 演算です。たとえば、Monterey, otter はMonterey または otter のいずれかを含むドキュメントの検索として解釈されます。OR に山カッコは不要です。
検索ルール
複雑な検索を作成するには、クエリ演算子を組み合わせたり、クエリ シンタックスを操作したり、ワイルドカード文字を含めたりすることができます。

山カッコ
ANDORNOT、日付および数字比較演算子を除き、クエリ演算子は、<CONTAINS<WILDCARD のように山括弧で囲む必要があります。

演算子の組み合わせ
1 つのクエリ内に複数のクエリ演算子を組み合わせて、正確な結果を取得することができます。たとえば、次のクエリを入力して、Bay および Monterey を含むドキュメントから Aquarium についても述べているドキュメントを除外するように検索を制限することができます。

より正確な検索を実行するには、フル ネームで Monterey Bay Aquarium について言及し、かつ otters については言及するが shark については言及しないドキュメントを検索する次のクエリのように、暗黙のフレーズを含めます。

検索単語としてのクエリ演算子の使用
クエリ演算子を検索単語として使うことができますが、その単語を引用符で囲む必要があります。たとえば、次のクエリによって、潮の ebb and flow に関するドキュメントを検索することができます。

同語源語のキャンセル
暗黙の同語源語をキャンセルするには、単語の前後に引用符を使います。たとえば、正しくキャンセルするには、次のようなクエリを使います。

この検索では、plan という単語そのものを含むドキュメントのみが返されます。plans や planning を含むドキュメントは無視されます。

演算子の変更
AND、OR、および NOT を使って、他の演算子を変更することができます。たとえば、theme park というフレーズを含むタイトルのドキュメントを除外するとします。次のようなクエリによって、この問題は解決されます。

使用する演算子の決定
次の表を参照して、使用する演算子を決定します。 クエリ言語では大文字と小文字を区別しないので、<starts<STARTS は同じです。本書では、明確にする目的でのみ大文字を使います。

表 16.3 使う演算子の決定
検索の種類
有効な演算子

日付または数字の値の比較によるドキュメントの検索
等しい (=)、
より大きい (>)、
以上 (>=)、
より小さい (<)、
以下 (<=)

DATE >= 06-30-96

1996 年 6 月 30 日以降に作成されたドキュメントが検索されます。
特定のドキュメント フィールドまたはフィールド内の特定の場所内の単語またはフレーズの検索
<STARTS>、
<CONTAINS>、
<ENDS>、
等しい (=)

Title <STARTS> Help

Help で始まるタイトルを持つドキュメントが検索されます。
ドキュメント内の複数の単語の検索
AND、
<NEAR/1>

specifications AND review

specifications と review の両方を含むドキュメントが検索されます。

次の表では、 よく使われる演算子について説明し、各演算子の使用例を示します。 特に述べていない限り、すべて適合性ランクが付けられます。

表 16.4 クエリ言語演算子
演算子
説明

AND

必須条件を検索に追加します。指定したすべての単語を含むドキュメントが検索されます。
Antarctica AND mountain climb

Antarctica と mountain climb および mountain climbing のようなすべての同語源の変形の両方を含むドキュメントのみが検索されます。
<CONTAINS>

ドキュメント フィールドに指定した単語を含むドキュメントが検索されます。 単語は、全く同一の一連の順序である必要があります。

ワイルドカードを使うことができます。英数字の値しか使うことができません。

ドキュメントは、適合性についてランク付けされません。
Title <CONTAINS> higher profit

タイトルに higher profit というフレーズを含むドキュメントが検索されます。タイトルに profits higher を含まないドキュメントは無視されます。
<ENDS>

ドキュメント フィールドが特定の文字列で終わるドキュメントが検索されます。

ドキュメントは、適合性についてランク付けされません。
Title <ENDS> draft

draft で終わるタイトルを持つドキュメントが検索されます。
等しい (=)
ドキュメント フィールドが特定の日付または数字の値に一致するドキュメントが検索されます。
Created = 6-30-96

1996 年 6 月 30 日に作成されたドキュメントが検索されます。
より大きい (>)
ドキュメント フィールドが特定の日付または数字の値より大きいドキュメントが検索されます。
Created > 6-30-96

1996 年 6 月 30 日より後に作成されたドキュメントが検索されます。
以上 (>=)
ドキュメント フィールドが特定の日付または数字の値以上のドキュメントが検索されます。
Created >= 6-30-96

1996 年 6 月 30 日以降に作成されたドキュメントが検索されます。
より少ない (<)
ドキュメント フィールドが特定の日付または数字の値より少ないドキュメントが検索されます。
Created < 6-30-96

1996 年 6 月 30 日より前に作成されたドキュメントが検索されます。
次 (<=)
ドキュメント フィールドが特定の日付または数字の値次のドキュメントが検索されます。
Created <= 6-30-96

1996 年 6 月 30 日以前に作成されたドキュメントが検索されます。
<MATCHES>

ドキュメント フィールド内の文字列が指定する文字列と一致するドキュメントが検索されます。

部分一致を含むドキュメントは無視されます。

ドキュメントは、適合性についてランク付けされません。
<MATCHES> employee

employee または employees のような同語源の変形を含むドキュメントが検索されます。
<NEAR>

指定した単語を含むドキュメントが検索されます。ドキュメント内の単語が互いに近似しているほど、ドキュメントの得点が高くなります。
stock <NEAR> purchase

stock と purchase の両方を含むドキュメントが検索されますが、 stock purchase を含むドキュメントには、purchase supplies and stock up を含むドキュメントより高い得点が与えられます。
<NEAR/N>

指定した複数の単語がお互いから N 個以内にあるドキュメントが検索されます。N は 1000 以内の整数です。また、ドキュメントは、単語の近似性に基づいて適合性についてランク付けされます。
stock <NEAR/1> purchase

stock purchase および purchase stock というフレーズを含むドキュメントが検索されます。

stock と purchase が隣り合っていないので、 purchase supplies and stock up のようなフレーズを含むドキュメントは無視されます。

N が 2 以上の場合、 その範囲内に単語を含むドキュメントが検索され、単語がより近くにあるドキュメントに高い得点が与えられます。
NOT

特定の単語またはフレーズを含まないドキュメントが検索されます。

ノート: NOT を使うと、OR または AND 演算子を変更することができます。
surf AND NOT beach

surf という単語を含み、beach という単語を含まないドキュメントが検索されます。
OR

オプションの条件が検索に追加されます。少なくとも 1 つの検索値を含むドキュメントが検索されます。
apples OR oranges

apples または oranges のどちらかを含むドキュメントが検索されます。
<PHRASE>

指定したフレーズを含むドキュメントが検索されます。フレーズは、特定の順序で現われる複数の単語のグループです。
<PHRASE> (rise "and" fall)

rise and fall というフレーズ全体を含むドキュメントが検索されます。and を引用符で囲んで、検索に演算子としてではなく、リテラルとして解釈させます。
<STARTS>

ドキュメント フィールドが特定の文字列で始まるドキュメントが検索されます。

ドキュメントは、適合性についてランク付けされません。
Title <STARTS> Corp

Corporate や Corporation のように、Corp で始まるタイトルを持つドキュメントが検索されます。
<STEM>
(英語のみ)
指定した単語とその変形を含むドキュメントが検索されます。
<STEM> plan

plan、plans、planned、planning、および同じ意味の同語源を持つその他の変形を含むドキュメントが検索されます。同じ語源から派生していない planet や plane などのスペルが同じ単語は無視されます。
<SUBSTRING>

ドキュメント フィールド内の文字列の一部またはすべてが指定する文字列に一致するドキュメントが検索されます。

<MATCHES> と同様ですが、一部の文字列における一致も検索されます。

ワイルドカードと共に使うことはできません。

ドキュメントは、適合性についてランク付けされません。
<SUBSTRING> employ

employ のすべてまたは一部に一致するドキュメントが検索されるので、ploy も検索されます。

ノート : この演算子は、リテラルを使うときのみ機能します。「web*」と入力した場合、アスタリスクはワイルドカードとして機能しないので、正確な "web*" 文字列のみが検索されます。
<WILDCARD>

検索文字列にワイルドカード文字を含むドキュメントが検索されます。この演算子を使って、同様のスペルを持つが、同語源の単語によって検索されない単語を取得することができます。

* や ? などの文字は自動的にワイルドカードをベースにした検索を表すので、<WILDCARD> という単語を含める必要はありません。
<WILDCARD> plan*


plan、plane、planet および planned、plans、planetopolis のように plan で始まる単語を含むドキュメントが検索されます。

詳細および例については、次の節を参照してください。

<WORD>

指定した単語を含むドキュメントが検索されます。
<WORD> theme

theme、thematic、themes、および theme から派生したその他の単語を含むドキュメントが検索されます。

ワイルドカードの使用
ワイルドカードを使って、特殊な結果を取得することができます。 たとえば、同じスペルを持つが、同語源の変形ではない単語を含むドキュメントを検索することが可能です。 たとえば、plan は、plans および planning の語源ですが、plane や planet の語源ではありません。ワイルドカードを使うと、これらの単語をすべて検索することができます。

* や ? などの文字は自動的にワイルドカードをベースにした検索を表すので、式の一部として <WILDCARD 演算子を使う必要はありません。

表 16.5 ワイルドカード演算子
文字
説明
*
ゼロまたは複数の英数字が指定されます。たとえば、air* によって、air、airline、および airhead を含むドキュメントが検索されます。

このワイルドカードを式の最初の文字として使うことはできません。

このワイルドカードは、([ ]) のセット内または代替パターン ({ }) 内では無視されます。

このワイルドカードの場合、<WILDCARD> 演算子は暗黙的です。
?
1 文字の英数字が指定されますが、複数の ? を使って、複数の文字を指定することもできます。たとえば、?at を指定すると cat や hat を含むドキュメントが検索され、??at を指定すると that や chat を含むドキュメントが検索されます。

このワイルドカードは、([ ]) のセット内または代替パターン ({ }) 内では無視されます。

このワイルドカードの場合、<WILDCARD> 演算子は暗黙的です。
{}
一連のパターンを指定する代替パターンで、各パターンはカンマで区切られます。 たとえば、<WILDCARD> 'Chat{s, ting, ty}' を指定すると、chats、chatting、および chatty を含むドキュメントが検索されます。

文字列全体を逆引用符で囲む必要があります。スペースを組み込むことはできません。
[ ]
一致を検索するために使用可能な一連の文字を指定するセットです。たとえば、 <WILDCARD> '[chp]at' を指定すると、cat、hat、および pat を含むドキュメントが検索されます。

文字列全体を逆引用符で囲む必要があります。スペースを組み込むことはできません。
^
セットから除外する1 つまたは複数の文字が指定されます。たとえば、<WILDCARD> 'C[^io]t' を指定すると、cat および cut を含むドキュメントが検索されますが、cot は除外されます。

カレット (^) は、左カッコの後の最初の文字である必要があります。
-
セット内の文字の範囲が指定されます。たとえば、<WILDCARD> 'Ch[a-j]t' を指定すると、chat から chjt までの 4 文字の単語を含むドキュメントが検索されます。

英数字以外の文字
英数字以外の文字を検索できるのは、コレクションの作成に使われた style.lex ファイルがそれらを認識するように設定されている場合のみです。このファイルは、server_root\plugins\common\ ディレクトリ内の HTML、ニュース、および電子メール サブディレクトリにあります。

リテラルとしてのワイルドカード
通常はワイルドカードとして使われる * や ? などの文字を使って検索する場合があります。ワイルドカードをリテラルとして使うには、その前にバックスラッシュを置く必要があります。アスタリスクの場合は、2 つのバックスラッシュを使ってください。たとえば、Zine*** というタイトルを持つ雑誌を検索するには、次の文字列を入力します。

文字が検索エンジンにとって特別な意味を持つ場合があり、それらの文字をリテラルとして解釈させるには逆引用符を使う必要があります。特殊な検索文字を次に一覧表示します。

  • カンマ,
たとえば、文字列 "a{b" を検索するには、次の文字列を入力します。

また、逆引用符を含む文字列 "c`t" を検索する場合は、次の文字列を入力します。


検索インターフェイスのカスタマイズ
サーバ管理者は、特定のユーザのリクエストに合わせて検索インターフェイスをカスタマイズすることができます。 ユーザに表示されるすべての HTML ベースのフォームは、クエリに応じて一覧表示される各検索結果レコードだけでなく、検索結果ページのヘッダとフッタの表示形式も設定するパターン ファイルのセットによって定義されます。検索の入力および出力に使うフォームの作成に使用できるパターン変数セットがあります。変数の多くは、システムおよびユーザ コンフィグレーション ファイル (userdefs.ini、webpub.conf、および dblist.ini については、手作業によるファイルの設定を参照) で定義されます。

ノート http://serverid:port/search の検索ホームページでは、検索インターフェイスの概要およびインターフェイスのカスタマイズに関するオンラインのクイックスタート チュートリアルも提供されています。チュートリアルでは、さまざまなパターン ファイルについて説明し、それらを変更して異なる結果を生成する方法を示しています。

ダイナミックに生成されるヘッダとフッタ
ダイナミックに生成されるヘッダとフッタを指定することができます。そのためには、add-headers および add-footers ディレクティブをサービス関数として obj.conf ファイルに追加します。これらのディレクティブは、パスまたは uri パラメータを受け取ります。パス パラメータを使って、ヘッダまたはフッタとしてスタティック ファイルを指定するには、次のように入力します。

uri パラメータを使って、ヘッダまたはフッタとして CGI プログラムなどのダイナミックに生成されるファイルを指定するには、次のように入力します。

これらのサービス関数は、 send-file または send-cgi など、リクエストに応じる実際のサービス関数に先行する必要があります。

HTML パターン ファイル
インターフェイスのカスタマイズを開始するには、まず既存のパターン ファイルを変更します。パターン ファイルの動作を知り、パターン変数を理解すると、独自のパターン ファイルを作成し、コンフィグレーション ファイルやその他のパターン ファイルを変更してそれらを指定することができます。iPlanet Web Server をデフォルトでインストールした場合、パターン ファイルは server_root\plugins\search\ui\text ディレクトリにあります(元のパターン ファイルのコピーを作成しておくと、後で復元することができます)。

電子メール、ニュース、ASCII、PDF、HTML などのさまざまなコレクションのパターン ファイルの他に Web パブリッシング コレクションのパターン ファイルがあります (Web パブリッシング パターン ファイルは特殊なケースで、dblist.ini ファイルで変数として多数のコレクション固有の属性を使います)。パターン ファイルには次のような一般的な種類があり、それぞれに特定の用途があります。ファイル プレフィックスは、たとえば ASCII-record.pat、EMAIL-record.pat のようなパターン ファイルのファイルの種類を指示します。次のリストは、一般的なファイル タイプのパターンを示しています。

  • NS-query.pat によって、標準および高度なクエリ ページが表示されます。 検索クエリ ページの一部としてWeb 検索 ("Web 検索"ボックス) を呼び出す HTML が含まれています。
  • query.pat によって、標準および高度なクエリ ページが表示されます。
  • tocstart.pat によって、検索結果ページの上部にヘッダが表示されます。
  • tocrec.pat によって、検索結果ページに一覧表示される各ドキュメントが表示されます。
  • tocend.pat によって、検索結果ページの下部にフッタが表示されます。
  • record.pat によって、検索結果ページから強調表示された 1 つのドキュメントが表示されます (詳細については、強調表示されたドキュメントの表示を参照)。
  • descriptions.pat によって、コレクション コンテンツが表示されます。
パターン ファイルには、要素がどのように表示されるかを定義する HTML 形式の命令、表示されるテキストのラベルや値を定義する HTML 検索引数および変数が含まれています。

パターン変数には、次の 3 種類があります (詳細については、パターン変数の使用を参照)。

これらの変数がどのように機能するかを理解するために、標準的なクエリ パターン ファイルNS-query.pat 内の行を次に示します。

各行には、標準的な HTML タグと $$ または $$NS- プレフィックス付きの 1 つまたは複数の変数が含まれています。 各行を詳細に検討するには、手作業によるファイルの設定で説明したコンフィグレーション ファイルを参照してください。

  • NS-max-records: webpub.conf ファイルで定義されます。このフィールドは隠されているので、ユーザは、一度に返される一致ドキュメントの数を定義するこの値を変更することができません。高度な HTML クエリ パターン ファイル NS-advquery.pat では、このフィールドはユーザが変更可能な入力フィールドです。
  • $$NS-max-records: 検索によって、一度に表示される結果レコードの数を計算するために後続の検索で使用できる変数がこのフィールドから生成されます。このフィールドはここでは変更することができないので、値は webpub.conf ファイルで設定されます。高度なクエリでは、各クエリごとに異なる値を設定することができます。
  • $$logo: userdefs.ini ファイルで定義されます。これは、ユーザがフォームに表示するイメージやテキストです。
  • $$sitename: userdefs.ini ファイルで、$$NS-host 検索マクロによって提供されるサーバのホスト名として定義されます。
  • $$queryLabel: userdefs.ini ファイルで、クエリ入力フィールドのテキスト ラベルとして定義されます。この場合、フォーム上のラベルは "For:" です。
  • NS-query: 入力フィールドの名前としてこのパターン ファイルで定義されます。$$NS-display-query: userdefs.ini ファイルで定義されます。検索によって、一致するドキュメント全体が表示されたときに強調表示する単語またはフレーズを決定するために後続の検索で使用できる変数がこのフィールドから生成されます。
検索関数のシンタックス
検索関数では、検索引数の一連の名前-値ペアを含む標準的な URL シンタックスが使われます。次に基本的なシンタックスを示します。

HTML 検索クエリおよび結果ページを使うと、ブラウザの URL フィールドに表示される検索関数および引数を参照することができます。検索関数が URL フィールドに直接入力される場合、修飾した URL と呼ばれることがあります。また、HREF タグを使ってパターン ファイルに組み込むこともできます。

パターン ファイル内で HREF 要素として完全な検索関数を作成することができます。次の例は、コレクション情報の表示方法を定義する HTML-descriptions.pat ファイルから提供されたものです。次の行によって、ラベル ("Collection") の各コレクションのヘッダが作成され、dblist.ini ファイルで定義されているコレクションのラベル (NS-collection-alias) によって実際のコレクション ファイルへのリンクが提供されます。

HREF には、次の要素を使うことによって完全な検索関数が含まれます。

  • $$NS-server-url: ユーザのサーバの URL を決定する検索マクロです。
    /search: 検索コマンドそのものです。
  • ?: クエリ文字列インジケータです。? の後はすべて検索関数によって使われる情報です。
  • NS-collection=$$NS-collection: この要素では、検索マクロ$$NS-collection を使ってコレクションのファイル名が定義されます。
変数に関連付けられている値がない場合は何も表示されないように検索を設定し、変数を使用することができます。シンタックスは次のとおりです。

たとえば、ドキュメントのタイトルがある場合、出力するように要求するとします。 このドキュメントのタイトルがない場合は、ラベル "Title:" も表示されないものとします。この場合は、次のようなコードを使います。

URL エンコード
修飾した URL 内またはパターン ファイル内で HTML 命令を作成する場合、URL エンコードのルールに従う必要があります。URL の一部として誤解される可能性がある文字は、%nn の形式のコードでエンコードする必要があります。ここで、nn は 16 進数のコードです。空白は、クエリ内では + (プラス) 記号に、出力では %20 に変換されます。次の表では、最もよく使われる URL コードを示します。

表 16.6 一般的な URL エンコード
文字
説明
コード

スペース
%20
;
セミコロン
%3B
/
スラッシュ
%2F
?
疑問符
%3F
:
コロン
%3A
@
アット マーク
%40
=
等号
%3D
&
アンパサンド
%26

必須の検索引数
クエリと結果ページのほとんどすべての側面をカスタマイズすることができますが、検索関数がさまざまな種類の検索ページを表示するために必要な引数があります。これらの引数は、検索関数が修飾した URL 内にある場合にも、HREF としてパターン ファイルに組み込まれている場合にも必要です。

検索クエリ ページを表示する検索関数には次の引数が必要です。

  • 検索クエリ (検索する単語、フレーズ、または属性)
  • コレクション (複数コレクションの検索には複数回指定可能)
検索結果ページを表示する検索関数には次の引数が必要です。

  • NS-search-page=results (または大文字か小文字の r)
  • コレクション (複数コレクションの検索には複数回指定可能) 検索クエリ
強調表示されたドキュメントを表示する検索関数には次の引数が必要です。

  • NS-search-page=document (または大文字か小文字の d)
  • ドキュメントのパス
  • コレクション (1 回のみ指定可能)
  • 検索クエリ (クエリ データを強調表示する場合に必要)
コレクション コンテンツを表示する検索関数には次の引数のみが必要です。

  • NS-search-page=contents (または大文字か小文字の c)
パターン変数の使用
パターン変数を使うことによって、検索テキスト インターフェイス をカスタマイズし、ユーザのリクエストが変わるたびに実際の HTML ページを更新する必要をなくすことができます。たとえば、インターフェイスに定期的に変わるグラフィックまたはテキストの要素がある場合、そのグラフィックやテキストが管理および保存されているパス名を指すパターン変数を定義することができます。

パターン変数には次の 3 つのカテゴリがあります。

  • userdefs.ini ファイルで定義される変数。修飾した URL およびパターン ファイルで $$ プレフィックスが追加されます。たとえば、uidirlogo、および title は、それぞれ $$uidir$$logo、および $$title になります。
  • コンフィグレーション ファイル、webpub.conf および dblist.ini ファイルで定義される変数。コンフィグレーション ファイルで定義される NS- プレフィックス、および修飾した URL やパターン ファイルで使われる場合は $$NS- プレフィックスが付きます。たとえば、NS-max-recordsNS-doc-root、および NS-date-time は、それぞれ $NS-max-records$$NS-doc-root、および $$NS-date-time になります。
  • パターン ファイルによって生成される検索マクロおよび変数。常に$$NS- プレフィックスが付きます。たとえば、$$NS-host$$NS-get-next、および $$NS-sort-by です。
ユーザ定義のパターン変数
ユーザ定義ファイル userdefs.ini で任意の数のユーザ定義のパターン変数を作成したり、既存の定義を変更したりすることができます。これらの変数の 1 つがパターン ファイル内で使われると、$$ プレフィックスが追加されます。変数名には、最大 32 の文字または整数、あるいはその両方の組み合わせを使うことができます。文字とは、A から Z までの大文字または小文字、ハイフン (-)、および下線 (_) です。名前は大文字と小文字を区別します。

iPlanet Web Server に付属するデフォルトの userdefs.ini ファイルには、検索クエリ ページ (ファイル内で [query] のラベル付き)、結果リスト ([toc] のラベル付き)、ドキュメント表示ページ ([record] のラベル付き)、およびコレクション コンテンツ ページ ([contents] のラベル付き) を定義するために使われる変数が含まれています。各行は変数名で始まり、変数の定義がその後に続きます。 多くは画面要素のラベルですが、他のファイルへのパスであるものや、より複雑な内容を持つものもあります。 たとえば、次の行は userdefs.ini ファイルのクエリ セクション内の行です。

[query]
NS-character-set=iso-8859-1
uidir = $$NS-server-url/search-ui
icondir = $$uidir/icons
l10nicondir = $$uidir/icons
htmldir = $$uidir/text
logo = <img src="$$icondir/magnifier.jpg" border=0 align=absmiddle><b><font size=+2>N</font><font size=+1>etscape&nbsp;</ font><font size=+2>S</font><font size=+1>earch</font></b>
sitename = $$NS-host
help = /help/5search.htm
title = Sample Search Interface
searchButtonLabel = Search
searchNote = To search, choose a collection, then enter words and phrases, separated by commas<br>(e.g., search, jet engines, basketball).

advSearchNote = To search, choose collections, then enter words and phrases, separated by commas<br>(e.g., search, jet engines, basketball).<p>Sorting is done on any defined attributes. Use '-' to specify descending order sort<br>(e.g., Title,-Author,+Date)
queryLabel = For:
queryLabelSJIS = $$queryLabel
queryLabelEUC = $$queryLabel
queryLabelJIS7 = $$queryLabel
collectionLabel = Search&nbsp;in:
booleanLabel = Boolean
sortByLabel = Sort&nbsp;by:
sortByLabelSJIS = $sortByLabel
sortByLabelEUC = $sortByLabel
sortByLabelJIS7 = $sortByLabel
freetextLabel = Freetext (unavailable)
maxDocumentsLabel = Documents to return:
maxDocumentsLabelSJIS = $$maxDocumentsLabel
maxDocumentsLabelEUC = $$maxDocumentsLabel
maxDocumentsLabelJIS7 = $$maxDocumentsLabel
copyright = Copyright &#169; 1997 Netscape Communications Corporation. All Rights Reserved.
advancedButtonLabel = Advanced Button Label
helpButtonLabel = Help Button Label

また、ファイルには $$NS-server-url など、検索マクロへの参照も含まれています。さらに、次の行のように他のユーザ定義の変数を参照することもできます。

検索マクロの詳細については、マクロと生成されるパターン変数を参照してください。

変数定義では、支援されている HTML 文字のエンティティを使うことができます。&name; 形式で定義されるエンティティ名および &#nnn; 形式で 3 桁のコードを使って定義されるエンティティ名を使うことができます。 userdefs.ini コードのサンプルでは、エンティティ &nbsp; によって非改行スペースが挿入され、&#169; によって著作権記号が挿入されます。よく使われるエンティティを次の表に示します。

表 16.7 一般的な HTML 文字のエンティティ
数値コード
エンティティ名
説明
&#032;

スペース
&#034;
&quot;
引用符
&#036;
$
ドル記号
&#058;
-
コロン
&#060;
&lt;
より小さい
&#062;
&gt;
より大きい
&#153;
-
商標記号
&#160;
&nbsp;
非改行スペース
&#169;
&copy;
著作権記号
&#174;
&reg;
登録商標記号

コンフィグレーション ファイルの変数
システム コンフィグレーションおよびコレクション コンフィグレーション ファイルで定義される変数があります。これらの変数は、コンフィグレーション ファイル内で NS- プレフィックスを使って、HTML ページ内の他のマークアップ タグと区別されます。これらの変数を検索関数への引数として使うには、$$NS-date-time$$NS-max-records のように、変数に別のプレフィックス $$ を追加します。

サーバ上のすべての検索のデフォルトを定義する変数は、システム コンフィグレーション ファイル webpub.conf で定義されます。 たとえば、 iPlanet Web Server をデフォルトでインストールした場合、webpub.conf ファイルには次の変数が含まれています。

インストールは各サーバの設定方法によって異なりますが、webpub.conf ファイルで最もよく見られる変数を次の表に一覧表示します。

表 16.8 webpub.conf で定義される一般的な変数
変数
説明
NS-default-html-title
ユーザ定義のタイトルを含まない HTML ドキュメントに与えられる名前。通常は [(Untitled)] に設定されています。
NS-date-time
結果を表示するときに使う日付と時刻の形式
NS-date-input-format
日付を入力するときの形式 (デフォルトは MMDDYY)
NS-HTML-descriptions-pat
コレクションのコンテンツを表示するときに使うパターン ファイル
NS-largest-set
検索条件に一致するものとして処理できるレコードの最大数。レコードは、NS-max-records のグループで表示されます。
NS-max-records
一度に表示されるリザルト セットの最大サイズ
NS-ms-tocend
複数のコレクションを検索するときに、検索結果ページの下部でフッタに使うパターン ファイル
NS-ms-tocstart
複数のコレクションを検索するときに、検索結果ページの上部でヘッダに使うパターン ファイル
NS-query-pat
クエリ ページを作成するときに使われるクエリ パターン ファイル
NS-search-type
実行する検索の種類。 ブール値のみが許可されます。

コレクション固有の変数は、dblist.ini ファイルで定義されます。たとえば、iPlanet Web Server をデフォルトでインストールした場合は、Web パブリッシング コレクション用の変数が含まれています。dblist.ini ファイルで定義される変数には、次のようなものがあります。

dblist.ini ファイル内の変数は、使っているコレクションの種類によって異なります。表 16.9 は、よく見られるコレクション固有の変数を示しています。

表 16.9 dblist.ini 内の一般的な変数
変数
説明
NS-collection-alias
コレクションのラベル。複数回指定して、複数のコレクションを検索することができます。
NS-doc-root
コレクション内のドキュメントのルート ディレクトリ
NS-display-select
NS-search-page=contents の場合、コレクション情報リストの一部としてコレクションが表示されるかどうかを指定します。デフォルトは YES です。
NS-highlight-start
表示されるドキュメント内で強調表示を開始する点。通常は、検索クエリ条件が強調表示されます。
NS-highlight-end
表示されるドキュメント内で強調表示を終了する点
NS-language
コレクション内のドキュメントの言語
NS-record-pat
強調表示されたドキュメント ページを表示するときに使うパターン ファイル
NS-tocend-pat
検索結果をフォーマットするときに使われる、コレクションに関連付けられているフッタ パターン ファイル
NS-tocrec-pat
検索結果をフォーマットするときに使われる、コレクションに関連付けられているレコード パターン ファイル
NS-tocstart-pat
検索結果をフォーマットするときに使われる、コレクションに関連付けられているヘッダ パターン ファイル
NS-url-base
ファイルを検索するために使われるリンクを作成するときに使う基本の URL

マクロと生成されるパターン変数
パターン ファイルまたは修飾した URL 内で使用できる検索マクロがあります。また、検索関数によって、あとの出力の表示方法を定義するために後続の検索リクエストで使用できるパターン変数が生成されます。これらのマクロおよび変数には、その使用を示す $$NS- プレフィックスが付きます。

たとえば、結果ページに 24 個のドキュメントが表示される検索クエリを最初に実行した後、検索の結果生成された $$NS-docs-matched および $$NS-doc-numberv 変数を再利用して、ドキュメントの 1 つを詳細に表示するドキュメント ページを定義することができます。このようにして、このドキュメントが最初の検索で返された 24 個のドキュメントのうちの 3 番目であることをユーザに知らせることができます。

後続のパターン ファイルや修飾した URL で使用できる検索マクロおよび生成される変数を次の表に一覧表示します。

表 16.10 マクロおよび生成されるパターン変数
変数
説明
$$NS-collection-list
NS-display-select が YES に設定されている dblist.ini 内のすべてのコレクションの HTML 複数選択リスト
$$NS-collection-list-dropdown
NS-collection-list の HTML ドロップダウン リスト版
$$NS-collections-searched
このリクエストに対して検索されたコレクションの数
$$NS-display-query
結果ページ用に生成されるクエリの HTML で表示可能な種類
$$NS-doc-href
ドキュメントの HTML HREF タグ。この変数によって、元のソース ドキュメントへの URL が提供されます。電子メールの場合は mailbox:/boxname?id-messageID、ニュースの場合は news:messageID の形です。
$$NS-doc-name
ドキュメントの名前
$$NS-doc-number
結果ページ リスト内のドキュメントの連番
$$NS-doc-path
ドキュメントへの絶対パス
$$NS-doc-score
ドキュメントのランク付けされた得点 (0 〜 100)
$$NS-doc-score-div10
ドキュメントのランク付けされた得点 (0 〜 10)
$$NS-doc-score-div5
ドキュメントのランク付けされた得点 (0 〜 5)
$$NS-doc-time
結果リスト内のドキュメントの作成時刻。 この値を取得するには、 webpub.conf ファイルで NS-use-system-stat = YES を設定する必要があります。システム統計には時間がかかるので、デフォルトでは NO に設定されています。
$$NS-doc-size
最も近い K に丸められたドキュメントのサイズ。この値を取得するには、webpub.conf ファイルで NS-use-system-stat = YESを設定する必要があります。システム統計には時間がかかるので、デフォルトでは NO に設定されています。
$$NS-docs-found
検索エンジンによって、このリクエストに対して検索されたドキュメントの実際の数
$$NS-docs-matched
このリクエストに対して検索から返されたドキュメントの数 (最大 NS-max-records)
$$NS-docs-searched
このリクエストに対して検索されたドキュメントの数
$$NS-get-highlighted-doc
この変数によって、ドキュメントを強調表示された HTML テキストとして表示するために、強調表示されたドキュメントの URL が提供されます。
$$NS-get-next
この変数は、表示される検索結果の次のセットを取得します。そのセットは NS-max-records に等しく、NS-search-offset を使って配置されます。
$$NS-get-prev
この変数は、表示されている検索結果の前のセットを取得します。そのセットはNS-max-records に等しく、NS-search-offset を使って配置されます。
$$NS-host
ホスト名
$$NS-insert-doc
HTML でソース ドキュメントが挿入される場所を示すために NS-record-pat パターン ファイルで使われるプレースホルダ
$$NS-rel-doc-name
ドキュメント ページの作成を示すドキュメントの相対名
$$NS-search-offset
検索結果として返されるレコードのセットに対するオフセット。NS-get-next および NS-get-prev を使うときに表示されるレコードのセットを決定するために使われます。
$$NS-server-url
サーバの URL
$$NS-sort-by
結果ページ上の項目のソート順。コレクションに使用可能な 1 つまたは複数の属性を選択することができます。デフォルトは昇順です。


 

(C) Copyright (C) 2000 Sun Microsystems, Inc. Some preexisting portions Copyright (C) 2000 Netscape Communications Corp. All rights reserved.