前へ     目次     索引     DocHome     次へ     
iPlanet Web Server, Enterprise Edition 管理者ガイド



第 12 章   検索機能の使い方


iPlanet Web Server の検索機能を使用すると、サーバ上のドキュメントの内容と属性を検索できます。サーバ管理者は、ユーザのコミュニティに合わせてカスタマイズしたテキスト検索インタフェースを作成できます。



検索機能は、Linux プラットフォームでは使用できません。



この章は、次の節で構成されます。



検索について

サーバドキュメントには、HTML、Microsoft Excel、Adobe PDF、WordPerfect などの各種形式を使用できます。ただし、それぞれのファイル形式で使用できる変換フィルタがあることが前提です。このフィルタにより、サーバは、それらのドキュメントを HTML に変換し、ドキュメントのインデックスを作成し、検索で見つかったドキュメントを Web ブラウザに表示できるようにします。詳細は、「コレクションについて」を参照してください。

ユーザは、サーバドキュメントで特定の単語または属性値を検索して、照会と一致するすべてのドキュメントを一覧表示する検索結果セットを取得できます。さらに、結果のリストから 1 つのドキュメントを選択して、そのドキュメント全体を表示することもできます。このようにして、サーバ上のコンテンツに簡単にアクセスできます。

サーバ管理者は、次の操作を行うことができます。

  • テキスト検索を使用する権限が与えられるユーザおよびグループを制限する。

  • ユーザおよびグループがアクセスできるドキュメントを決定する。

  • テキスト検索の動作を制御する構成ファイルを変更する。

  • 検索照会と検索結果のページをカスタマイズする。

サーバで検索機能を使用可能にするには、まず、そのサーバに固有の構成要件を明確にし、いくつかの検索の構成画面を使ってそれらの要件を入力します。次に、検索対象にする1 つまたは複数のドキュメントのディレクトリを特定し、そのドキュメント情報のインデックスを作成して、コレクションと呼ばれる検索可能なデータベースに格納します。以下の節で、検索の構成およびコレクションのインデックス作成について詳しく説明します。



テキスト検索の構成



サーバに対する検索機能にはいくつかの項目を設定できます。

  • コレクション固有の構成

  • すべてのコレクションに適用する構成

コレクション固有の構成では、特定のコレクションに対してドキュメントのインデックスを作成する方法を制御します。この構成は、コレクションを作成する前に定義する必要があります。その他の構成の操作は、検索そのものに影響するだけなので、いつ定義してもかまいません。

コレクション固有の構成の操作は次のとおりです。

  • インデックスを作成するドキュメントディレクトリの URL マッピングの定義

  • 特定のコレクションの検索で表示するパターンファイルの定義

すべてのコレクションに影響する構成の操作は次のとおりです。

  • ファイルおよびディレクトリに対するアクセス制御の確立

  • 検索から除外する単語の定義

  • 検索パラメータの定義

  • 検索機能のオンとオフの設定

  • インデックス作成に使用可能なメモリ量の制限

この節では、次の内容について説明します。


検索アクセスの制御

検索機能では、サーバのデフォルトの ACL データベースにアクセスします。アクセス制御リスト (ACL) の規則を明示的に定義することにより、または、デフォルトのアクセス制御定義をそのまま利用することにより、サーバ上のドキュメントおよびディレクトリへのアクセスを制御できます。Administration Server の「Users & Groups」機能を使用して、サーバのアクセス制御データベースにユーザを追加できます。 Server Manager の「Restrict Access」インタフェースで、アクセスを許可または制限することができます。アクセス制御の設定の詳細は、第 8 章「サーバへのアクセス制御」を参照してください。

Server Manager の「Search Configuration」インタフェースを使用して、コレクションのルートを検索したり検索結果を表示したりする前に、アクセス権限を確認するようにサーバを構成できます。その方法は、「検索パラメータの構成」で説明されています。このオプションを設定すると、サーバは、ユーザに本人確認を求めて、検索照会の結果を返す前にユーザのアクセス権限を確認します。


URL のマッピング

ユーザがコレクションのファイルを検索する場合、検索結果のドキュメントでは部分的に URI (Uniform Resource Identifier) を使用してファイルを識別します。このセキュリティ機能により、ユーザはファイルの完全な物理パス名を知ることができません。URI を設定するには、追加のドキュメントディレクトリに URL をマッピングします。

たとえば、次のファイルパスがあるとします。

server_root/Docs/marketing/bizplans/planB.doc

plans という URL 接頭辞を定義して、これを下記のディレクトリにマッピングすると、ユーザは最後のディレクトリ以外の部分を見ることができなくなります。

server_root/Docs/marketing/bizplans

このように設定しておけば、ユーザは /plans/planB.doc と入力するだけでそのファイルを検索できます。詳細は、第 16 章「コンテンツ管理」を参照してください。


デフォルトでは、リダイレクトされる URL は常にエスケープされます。これを防ぐには、escape="no" を追加します。次に例を示します。

NameTrans fn="redirect" from="/foobar" url-prefix="index.html" escape="no"



iPlanet Web Server には、次の 3 つのデフォルトマッピングが用意されています。

  • / (スラッシュ) 最初にserver_root/docs にマッピングするプライマリドキュメントディレクトリ (ドキュメントルートとも呼ばれる)

  • /help ほとんどのヘルプファイル用のディレクトリ

  • /search-ui ほとんどの検索インタフェースファイル用のディレクトリ

コレクションの作成時に、インデックスを作成するドキュメントディレクトリを指定する必要があります。その場合、URL がマッピングされているディレクトリ、または URL がマッピングされているディレクトリ内のサブディレクトリだけを選択できます。特定のディレクトリを定義する、独自のマッピングを作成することができます。

URL をマッピングするには、次の手順を実行します。

  1. Class Managerを開き、ドロップダウンリストからサーバインスタンスを選択します。

  2. 「Content Mgmt」タブを選択します。

  3. 「Additional Document Directories」リンクをクリックします。

    Web サーバに「Additional Document Directories」ページが表示されます。

  4. (省略可能) 次のどちらかを入力して、別のディレクトリを追加します。

    • URL 接頭辞

      例:plans

    • URL をマッピングするディレクトリの絶対物理パス

      例:

      C:/iPlanet/Servers/docs/marketing/plans

  5. 「OK」をクリックします。

  6. 「Apply」をクリックします。

  7. 次のどちらかを選択して、リストされている現在の追加ディレクトリのうちの 1 つを編集します。

    • 「Edit」

    • 「Remove」

  8. 編集する場合は、変更しようとしている、リストされているディレクトリの隣にある「Edit」を選択します。

  9. 新しい接頭辞を ASCII 形式で入力します。

  10. (省略可能) ディレクトリにスタイルを適用する場合は、「Apply Style」ドロップダウンリストからスタイルを選択します。

    スタイルの詳細は、第 17 章「構成スタイルの適用」を参照してください。

  11. 「OK」をクリックして、新しいドキュメントディレクトリを追加します。

  12. 「Apply」をクリックします。

  13. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。



    追加のドキュメントディレクトリに基づいてコレクションを作成した後は、URL マッピングを変更してはなりません。変更すると、そのコレクションのエントリの URL マッピングが間違った物理ファイルの場所を指すことになります。




検索からの単語の除外

検索エンジンでインデックスの対象としない、または検索対象にしない単語を指定できます。通常、これらの単語は「ストップワード」または「検索から除外する単語」と呼ばれ、atandbeforthe などの冠詞、接続詞、および前置詞がこれに含まれます。

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

ストップワードは、1 行に 1 語づつ、左揃えで style.stp に追加します。文字クラスを示す角括弧 ([ ])、任意の文字を示すピリオド (.)、繰り返しを示すプラス記号 (+) などの演算子を使用できます。たとえば、style.stp ファイルに次の行が記述されているとします。

........................................+
at
and
be
[0-9a-zA-Z]
[0-9][0-9][0-9][0-9]+

この例では、最初のピリオドの行 (デフォルトでファイルに記述されている) は、40 文字以上の語はインデックスに含めないことを示します。さらに、インデックスに含めない単語として atandbe を指定しています。[0-9a-zA-Z] は、1 文字の単語は一切インデックスに含めないことを示します。[0-9][0-9][0-9][0-9]+ は、4 桁以上の整数は一切インデックスに含めないことを示します。

指定する語は、大文字と小文字が区別されます。したがって、単語の大文字と小文字によるすべてのバリエーションを入力する必要があります。たとえば、the の場合は、the、THE、および The を入力する必要があります。

ストップワードを使用する場合は、コレクションを作成する前に、style.stp ファイルを作成する必要があります。コレクションの作成後に style.stp ファイルを変更する場合は、次の手順が必要になります。

  1. 現在のコレクションを削除します。

  2. そのコレクションタイプのストップワードのリストを変更します。

  3. そのコレクションを再度作成します。

  4. そのコレクション内の全ドキュメントのインデックスを再度作成します。


検索のオンまたはオフ

ユーザがサーバまたは Web サイトを検索できるようにするためには、検索をオンに設定する必要があります。デフォルトの設定では、検索はオフになっています。検索機能をオンまたはオフにするには、Server Manager の「Search State」インタフェースを使用します。

ユーザが検索を使用しないサーバでは、検索をオフにすると、サーバのパフォーマンスを高めることができます。また、サーバのトラフィックが重くなる場合に検索機能をオフにし、トラフィックが軽くなれば再びオンにすることもできます。検索をオフにしていると、HTTP サーバの起動時に検索プラグインは読み込まれません。


検索パラメータの構成

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

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

  1. Server Manager にアクセスして、「Search」を選択します。

  2. 「Search Configration」リンクをクリックします。

    Web サーバに「Search Configration」ページが表示されます。

  3. 「Default Result Set Size」フィールドに、ユーザに一度に表示される検索結果項目のデフォルトの最大数を入力します。

    この数は、手順 4 で設定する「Largest Possible Result Set Size」の値よりも大きくしてはなりません。デフォルトは 20 です。

  4. 「Largest Possible Result Set Size」フィールドに、結果セットの最大項目数を入力します。

    デフォルトは 5000 です。値として 250 を入力すると、検索条件に一致するドキュメントが 1000 見つかっても、ユーザがアクセスできるのは、最初の 250 ドキュメント、つまり上位 250 にランク付けされたドキュメントだけになります。

  5. 「Date/Time」の文字列を Posix 書式で入力します。

    このエントリでは、ユーザに表示される日付および時刻の書式を定義します。リストされている記号を使用します。

  6. HTML ドキュメントにタイトルタグが設定されていない場合に使用される、デフォルトの HTML タイトルを入力します。

    一般的な HTML のデフォルトは、「(Untitled)」であり、これが HTML ファイルの検索結果ページに表示されます。

  7. そのコレクションへのアクセスを制限したい場合は、「Check access permissions on collection root before doing a search ?」に「Yes」を選択します。

  8. 検索結果内の各ドキュメントに対してアクセス制御チェックを実行したい場合は、「Check access permissions on search results ?」に「Yes」を選択します。

  9. 「OK」をクリックして、新しい検索構成を設定します。

  10. 「Apply」をクリックします。

  11. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。


    表 12-1    Posix による共通の日付と時刻の書式 

    書式

    表示結果 (例)

    %a  

    省略形の曜日 (Wed など)  

    %A  

    完全形の曜日 (Wednesday など)  

    %b  

    省略形の月 (Oct など)  

    %B  

    完全形の月 (October など)  

    %c  

    現在のロケールの書式による日付と時刻  

    %d  

    十進数による、月内の日 (01 〜 31)  

    %H  

    十進数、24 時間の書式による時間 (00 〜 23)  

    %m  

    十進数による月 (01 〜 12)  

    %M  

    十進数による分 (00 〜 59)  

    %x  

    日付 (09/18/01 など)  

    %X  

    時刻 (09:46:40 など)  

    %y  

    西暦の下 2 桁による、年 (00 〜 99)  

    %Y  

    完全な西暦による、年 (1999 など)  


検索パターンファイルの構成

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

デフォルトのパターンファイルを使用することも、独自にカスタマイズしたファイルセットを作成することもできます。単一コレクションまたは複数コレクションの検索で開始パターンファイルと終了パターンファイルが指定されていない場合は、デフォルトの開始パターンファイルと終了パターンファイルが使用されます。ユーザインタフェースの変更方法の詳細は、「検索インタフェースのカスタマイズ」を参照してください。

検索の実行時に特定の検索要求に関連付けられたデフォルトのパターンファイルを探す場所を定義するには、そのパターンファイルのパスを指定する必要があります。

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

  1. Server Manager にアクセスして、「Search」を選択します。

  2. 「Search Pattern Files」リンクをクリックします。

    Web サーバに「Search Pattern Files」ページが表示されます。

  3. パターンファイルが格納されているディレクトリの絶対パスを入力します。

    開始 (ヘッダー)、終了 (フッター)、および照会ページのデフォルトのパターンファイルがこのディレクトリに格納されます。

  4. 「Default Start Pattern File」に相対パス名を入力します。

    このエントリは、コレクションに定義されたヘッダーファイルがない場合、または複数のコレクションを検索する場合の、検索結果のトップページを定義します。

  5. 「Default End Pattern File」に相対パス名を入力します。

    このエントリは、コレクションに定義されたフッターファイルがない場合、または複数のコレクションを検索する場合の、検索結果ページのフッターを定義します。

  6. 「Pattern File for Query Page」に相対パス名を入力します。

    このエントリは、検索機能の起動時に表示される検索照会ページを定義します。

  7. 「OK」をクリックして、検索パターンファイルを構成します。

  8. 「Apply」をクリックします。

  9. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。


手動によるファイルの構成

検索機能では、いくつかの構成ファイルを調べることにより、サーバの検索がどのように構成されているか判別します。それらの構成ファイルには、システム設定、ユーザが定義した変数、および検索コレクションに関する情報が定義されています。通常、この情報は iPlanet Web Server の「Search」ページから変更しますが、テキストエディタを使用して手動でこれらのファイルを変更することもできます。ユーザインタフェースをカスタマイズするための構成ファイルの変更については、関連情報が「検索インタフェースのカスタマイズ」で説明されています。



手動による構成ファイルの変更は、お勧めすることはできません。手動で変更を加える場合は、変更内容を有効にするには、サーバを再起動する必要があります。




構成ファイル

検索を制御する構成ファイルは、次のリストで記述されます。

  • userdefs.ini - このユーザ定義ファイルでは、ユーザが定義したパターン変数を定義します。これは、使用する言語 (英語、ドイツ語、日本語など) の userdefs.ini ファイルにマッピングされます。

    独自のパターン変数を作成して userdefs.ini ファイルに定義することにより、すべてのパターンファイルの検索インタフェースをカスタマイズできます。詳細は、「ユーザ定義のパターン変数」を参照してください。

  • dblist.ini - このコレクション内容ファイルでは、コレクション固有の情報を記述します。コレクションを作成して管理すると、そのコレクションに関する情報で dblist.ini ファイルが更新されます。


属性の最大数の調整

コレクションには、ファイル形式によって異なるデフォルト属性セットがあります。たとえば、HTML ファイルには、Title 属性と SourceType 属性があります。HTML ファイルに META タグ付きの HTML 属性を定義することもできます。PDF のように、非常に多くのデフォルト属性があるファイル形式もあります。各ファイル形式の属性の詳細は、「コレクションの属性について」を参照してください。


インデックス作成に使用するメモリの制限

インデックス作成操作に使用できる RAM の容量に制限を設けることができます。これを行うには、[NS-loader] ファイルを手動で編集して、最大メモリ量を定義する行を追加します。次に例を示します。

NS-max-memory = 32000000

サーバのデフォルトでは、使用可能なシステムメモリをすべて使用するように設定されています。通常、次の条件に該当する場合は、インデックス作成に使用する RAM を制限する必要があります。

  • RAM が推奨最小値よりも小さいマシンにサーバをインストールしている場合。

  • Windows NT サーバのサーバ管理者が、大量のインデックス作成を必要としながらも、ほかのサーバ操作にメモリを必要とする場合。


インデックスファイルのサイズ制限

インデックスファイルに使用できるディスク容量を制限できます。これを行うには、[NS-loader] ファイルを手動で編集して、インデックスファイルの最大サイズを定義します。次に例を示します。

NS-max-idx-file-size = 1500000

通常、インデックス作成操作には、1 ファイルにつき約 1.5M バイト必要です。一時ファイルと合わせて 2 ファイルあるので、インデックス作成には 3M バイトのディスク容量が必要になります。ファイルサイズを 1 ファイル当たり 1.5M バイトに設定することで、各ファイルのサイズの上限が設定されます。



ドキュメントのインデックス作成



ユーザが検索を実行するには、検索可能なデータのデータベースが必要です。ドキュメントの内容やファイルプロパティなど、ドキュメントに関する情報のインデックスを作成して保存する、コレクションと呼ばれるデータベースを作成する必要があります。

検索には、検索対象となるファイルのコレクションが必要です。ドキュメントのインデックスを作成すると、ドキュメントの内容や、タイトル、作成日、作成者などのファイルプロパティを検索に使用できます。

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

この節では、次の内容について説明します。


コレクションについて

サーバ管理者がサーバのドキュメントの全部または一部についてインデックスを作成すると、それらのドキュメントに関する情報が 1 つのコレクション内に格納されます。コレクションには、次のような情報が格納されます。

  • ドキュメントの形式

  • ドキュメントの言語

  • 検索可能な属性

  • コレクション内のドキュメントの数

  • コレクションのステータス

  • コレクションに関する簡単な説明

詳細は、「コレクションのコンテンツの表示」を参照してください。

コレクションの作成時に、次のように、そのコレクションに収めるファイルのタイプを定義する必要があります。

  • HTML

  • ASCII

  • NEWS

  • EMAIL

  • PDF

インデックスの作成時に、この定義によって、インデックスに含める属性や、何らかのファイル変換が必要かどうかが判別されます。

1 つのディレクトリ内にあるすべてのファイルについてインデックスを作成することも、 HTML や PDF などの特定の拡張子を持つファイルについてのみインデックスを作成することもできます。

コレクションには、インデックスを作成した各ドキュメントに関する情報を収めたレコードがあります。コレクションからドキュメントを削除すると、そのドキュメントのコレクションのエントリだけが削除されます。元のドキュメントは削除されません。

複数のサーバインスタンスがある場合、1 つのコレクションは、そのコレクションが作成されたサーバインスタンスにだけ関連付けられます。ユーザは、そのサーバインスタンス内のコレクションだけを検索できます。


コレクションの属性について

表 12-2 に示すように、特定のファイル形式には、そのタイプのファイルについてインデックスを作成する、デフォルトの属性セットがあります。


表 12-2    各ファイル形式についてインデックスが作成される、デフォルトの属性 

ファイル書式  

属性  

タイプ  

説明  

ASCII  

(なし)  

-  

-  

HTML  

Title  

テキスト  

ユーザが定義したファイルのタイトル  

 

SourceType  

テキスト  

ドキュメントのオリジナルの形式  

NEWS  

From  

テキスト  

ニュースアイテムのソース userID  

 

Subject  

テキスト  

ニュースアイテムのサブジェクトフィールドのテキスト  

 

Keywords  

テキスト  

ニュースアイテムに定義されるキーワード  

 

Date  

日付  

ニュースアイテムが作成された日付  

EMAIL  

From  

テキスト  

電子メールのソース userID  

 

To  

テキスト  

電子メールの宛先の userID  

 

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 個まで指定して検索およびソートができるようにインデックスを作成できます。「属性の最大数の調整」で説明されているように、ファイル属性の最大設定数は変更可能です。

たとえば、次のような HTML コードの行をドキュメントに記述できます。

<META NAME="Writer" CONTENT="R. Hunter">

<META NAME="Song" CONTENT="Stella Blue">

これらの META タグを抽出してドキュメントのインデックスが作成されている場合、writer (執筆者) やproduct (製品) のフィールド内の特定の値を検索できます。たとえば、Writer <contains> Hunter or Song <contains> Blue のような照会によって検索を実行できます。



META タグフィールド内の属性値に指定できるのは、テキスト文字列のみです。このため日付や時刻などのすべての数値は、テキストとしてソートされます。META タグ属性内の無効な HTML 文字は、ハイフンで置き換えられます。




新規コレクションの作成

サーバに保持できるコレクションは 12 個までです。13 番目のコレクションを使用するには、先に「Search」の「Maintain Collection」を使用して既存のコレクションを削除する必要があります。

コレクション (複数) に収めることができるエントリは、最大で 1,600 万ドキュメントです。1 つのドキュメントのインデックスが複数のコレクションに含まれている場合は、複数のドキュメントとしてカウントされます。10,000 ドキュメント以上の新規コレクションは、低トラフィック時に作成することをお勧めします。高トラフィック時に作成すると、インデックス作成操作がシステムのパフォーマンスに影響する可能性があります。

1 つのディレクトリ内のすべてのファイルまたは一部のファイルの内容のインデックスを収めるコレクションを作成することができます。1 種類のファイルだけを収めるコレクションを定義できます。また、さまざまな形式のドキュメントのコレクションを作成して、インデックス作成時に自動的に HTML に変換することもできます。複数の形式によるコレクションを定義して「auto-convert」(自動変換) オプションを設定すると、インデックス作成時に、まずドキュメントが HTML に変換され、次にその内容のインデックスが作成されます。変換後の HTML ドキュメントは、サーバの検索コレクションフォルダ内の html_doc ディレクトリに置かれます。

選択するファイル形式によって、コレクションで使用されるデフォルトの属性、およびインデックス作成時に内容の自動 HTML 変換を必要とするかどうかが決まります。各ファイル形式の属性については、「コレクションの属性について」を参照してください。

選択したファイルタイプに関係なく、ファイルの内容は常にインデックス作成されます。ファイルタイプとして HTML を選択した場合は、サーバにより HTML のデフォルト属性によるコレクションが作成され、HTML 以外のファイルのインデックスを作成しようとしても HTML への変換は行われません。HTML ファイルを ASCII コレクションへインデックス作成して収める場合、HTML のマークアップタグもファイルの内容の一部としてインデックスが作成され、その内容は生テキストとして表示されます。



1 つのコレクションを作成するには、システム上に 3M バイト以上の利用可能なディスク容量が必要です。インデックスファイルのサイズを制限する方法については、「インデックスファイルのサイズ制限」を参照してください。



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

  1. Server Manager にアクセスし、コレクションを作成するサーバをドロップダウンリストから選択します。

  2. 「Search」タブを選択します。

  3. 「New Collection」リンクをクリックします。

    Web サーバに「Create a Collection」ページが表示されます。

    次のいずれかを選択します。

    • 「Directory to Index」フィールドの現在のドキュメントディレクトリ

    • サーバのドロップダウンリストに定義されている別のドキュメントディレクトリ

    • ファイルとサブディレクトリの一覧を表示する場合は「View」

    追加のドキュメントディレクトリの詳細は、「URL のマッピング」を参照してください。

  4. 「Documents Matching」フィールドのデフォルトの *.html をそのまま使用するか、独自のワイルドカード式を定義します。

    1 つの式に複数のワイルドカードを定義できます。次に例を示します。

    (*.htm|*.html or *(.htm|.html)

    ワイルドカードパターンの構文の詳細は、「ワイルドカードの使用」を参照してください。



    名前にセミコロン (;) が含まれているファイルのインデックスは作成できません。これらのファイル名は、変更してください。



  5. 指定されたディレクトリ内のサブディレクトリをインデックスに含める場合は、「Yes」を選択します。

  6. 「Collection Name」フィールドにコレクション名を入力します。

    コレクション名は、コレクションの保守に使用されます。これは、ファイルの物理ファイル名なので、使用するオペレーティングシステムの名前付け規則に従ったファイル名にしてください。最大で 128 文字まで使用できます。空白文字は下線に変換されます。



    コレクション名では、アクセント記号付きの文字は使用しないでください。アクセント記号付きの文字を使用する必要がある場合は、コレクション名からはアクセント記号を削除し、ラベルでは使用してください。このラベルは、検索インタフェースでユーザに表示されます。



  7. (省略可能) 「Collection Label」フィールドに、コレクションのユーザが定義した名前を入力します。

    この名前は、ユーザがテキスト検索を実行するときに表示されます。できるだけ、内容がわかりやすい適切なラベル名にします。最大で 128 文字の、一重引用符または二重引用符を除くすべての文字を使用できます。

  8. (省略可能) 「Description」フィールドに、コレクションの説明を入力します (最大 1024 文字)。

    この説明は、コレクションの内容のページに表示されます。

  9. コレクションに収めるファイルのタイプを選択します。

    • ASCII

    • HTML

    • News

    • Email

    • PDF

  10. インデックス作成時に HTML ファイルから META タグ属性を抽出するかどうかを選択します。

    このオプションは、HTML コレクションに対してのみ選択してください。META タグ属性を抽出すると、その値を検索できます。1 つのドキュメントで、最大 30 種類のユーザが定義した META タグのインデックスを作成できます。

  11. ドロップダウンリストからコレクションの言語を選択します。

    デフォルトは英語 (「English (ISO-8859-1)」) です。文字セットの詳細は、第 16 章「コンテンツ管理」を参照してください。

  12. 「OK」をクリックして新規コレクションを作成します。



    一度コレクションのインデックス作成を開始すると、インデックス作成が完了するか、システムを再起動しない限り、そのプロセスを停止することはできません。サーバをシャットダウンしても、プロセスは終了しません。



  13. 「Apply」をクリックします。

  14. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。


コレクションの構成

コレクションを作成した後で、そのコレクションの初期設定の一部を変更できます。それらの設定は、コレクション情報ファイルの dblist.ini にあります。コレクションを再構成すると、dblist.ini ファイルが更新され、変更内容が反映されます。構成ファイルの詳細は、「手動によるファイルの構成」を参照してください。次の設定変更が可能です。

  • 説明を修正する

  • ラベルを変更する

  • ドキュメントに別の URL を定義する

  • 表示されるドキュメントの強調表示方法を定義する

  • 使用するパターンファイルを定義する

  • 日付の書式を定義する

コレクションの設定に不必要な変更を加えることは避けてください。

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

  1. Server Manager にアクセスし、目的のコレクションが存在するサーバインスタンスをドロップダウンリストから選択します。

  2. 「Search」タブを選択します。

  3. 「Configure Collection」リンクをクリックします。

    Web サーバに「Configure Collection」ページが表示されます。

  4. 構成するコレクションを選択します。

  5. 次の項目を入力または変更できます。

    • オプションの「Description」フィールドの説明 (1024 文字まで)

    • 「Label」フィールドのユーザが定義した名

    • 「URL for Documents」フィールドの URL (URL を変更した場合)

      たとえば、 publisher/help の URL マッピングを、よりシンプルな /helpFiles に変更するなどです。

    • 表示するドキュメント内で検索照会の単語またはフレーズを強調表示するときにサーバが使用する、「Highlight begin」フィールドと「Highlight end」フィールド内の HTML タグ。

    デフォルトは、<b> タグと </b> タグによる太字での表示ですが、さらにタグを追加したり、別のタグに変更することができます。たとえば、<blink><FONT COLOR = #FF0000> と、それに対応する </blink></FONT> を追加すると、点滅する赤い太字で強調表示できます。

  6. 入力日付の書式を選択します。

  7. 次の項目の検索結果の表示に使用するデフォルトのパターンファイルを定義または変更します。

    • ヘッダー

    • フッター

    • レコード

  8. 「Result Pattern File」フィールドで、検索結果のリストから単一のドキュメントを強調表示する際に使用するパターンファイルの名前を入力または変更します。

  9. 「OK」をクリックして、コレクションの構成を変更します。

  10. サーバでのコレクションの構成が完了したら、「Apply」をクリックします。

  11. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。


コレクションの更新

コレクションの作成後に、ファイルの追加または削除が必要になる場合があります。ドキュメントを追加すると、必要な場合はそのファイルの内容のインデックスが作成され、変換されます。ドキュメントを削除する場合は、そのファイルのエントリがメタデータと一緒にコレクションから削除されます。元のドキュメントには影響はなく、コレクションのそのエントリだけが削除されます。



コレクションの作成時に「Extract Metatags」オプションを選択した場合は、新しいドキュメントを追加する度に、META タグ HTML 属性のインデックスが作成されます。



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

  1. Server Manager にアクセスし、目的のコレクションが存在するサーバインスタンスをドロップダウンリストから選択します。

  2. 「Search」タブを選択します。

  3. 「Update Collection」リンクをクリックします。

    Web サーバに「Update Collection」ページが表示されます。

  4. 更新するコレクションを選択します。

    現在選択されているコレクションにインデックスエントリがあるドキュメントのリストが表示されます。各リストには 100 レコードづつ表示されます。100 個以上のファイルがあるコレクションの場合は、「Prev」ボタンおよび「Next」ボタンを使用して前後のリストを表示できます。

  5. 「Document Matching」フィールドで、単一のファイル名を入力するか、ワイルドカードを使用して、そのコレクションで追加または削除するファイルのタイプを指定します。

    *.html などのようにワイルドカードを入力すると、この拡張子を持つファイルだけを更新できます。サブディレクトリ内のファイルを指定する場合は、ファイルのリストに表示されているパス名を入力します。次に例を示します。frenchDocs/*.html

    注意

    ワイルドカード式の入力には注意が必要です。index.html と入力すると、現在のコレクションのインデックスファイルを追加または削除できますが、*/index.html と入力すると、すべての index.html ファイルがそのコレクション内に追加または削除されます。



  6. サブディレクトリを含めるかどうかを選択します。

  7. 次のどちらかをクリックします。

    • 指定されたファイルおよびサブディレクトリを追加する場合は「AddDocs」

    • 指定されたファイルを削除する場合は「RemoveDocs」

  8. 「Apply」をクリックします。

  9. 「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。


コレクションの保守

時には、コレクションを保守したい場合もあります。頻繁にコレクションのインデックス作成や更新を行わない限り、通常の使用法では、これらの保守作業は必要ないこともあります。

次のコレクション保守作業を実行できます。

  • コレクションの最適化 - コレクションでドキュメントやディレクトリの追加、削除、または更新を頻繁に行ってコレクションを最適化することにより、パフォーマンスを高めることができます。これは、ハードドライブのデフラグ処理と似ています。最適化は自動的には実行されません。したがって、コレクションのインデックスを再作成または更新した後、手動で最適化する必要があります。コレクションを別のサイトに公開する前や、読み取り専用の CD-ROM に書き込む前に、そのコレクションを最適化した方がよい場合があります。

  • インデックスの再作成 - コレクションのインデックスを再作成できます。コレクションにすでにエントリを持つファイルを探して、その属性および内容のインデックスを再作成することができます。コレクションで最初にファイルのインデックスを作成したときに META タグ属性を抽出するオプションを選択していた場合は、META タグ属性が抽出されます。この場合、*.html などの、元の条件でコレクションを作成し直すのではなく、元の条件に該当する新しいドキュメントを追加します。ソースドキュメントが削除されていて見つからない場合、コレクションのエントリは削除されます。

  • 削除 - コレクションを削除できます。コレクションだけが削除され、元のソースドキュメントは削除されません。



    コレクションの削除には、ローカルのファイルマネージャを使用しないでください。サーバを再起動する前に検索を実行しようとすると、検索は失敗します。



これらのコレクション管理作業を実行するには、 Server Manager の「Maintain Collection」リンクを使用します。


定期保守のスケジュール設定

定期的なコレクションの保守スケジュールを設定できます。また、最適化とインデックスの再作成の保守スケジュールを個別に設定できます。頻繁にコレクションのインデックス作成や更新を行わない限り、通常の使用法では、これらの保守作業は必要ないこともあります。たとえば、毎日新しいドキュメントが追加されるような非常に変動の多い Web サイトでは、頻繁にインデックスの再作成を行う必要があります。

通常、次の作業の組み合わせにより、定期スケジュールを設定します。

  • インデックスの再作成と更新の操作によって削除されたエントリを一掃する。

  • コレクションの条件に一致する新しいドキュメントのエントリを追加する。

  • コレクションの新しいインデックス作成条件を入力してコレクションを更新する。

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

  1. Server Manager から、「Search」を選択します。

  2. 「Schedule Collection Maintenance」リンクをクリックします。

    Web サーバに「Schedule Collection Maintenance」ウィンドウが表示されます。

  3. ドロップダウンリストからコレクションを選択します。

    このリストには、作成したすべてのコレクションが表示されます。

  4. ドロップダウンリストから、次のいずれかのアクションを選択します。

    • 「Reindex」(インデックスの再作成)

    • 「Optimize」(最適化)

    • 「Update」(更新)

    同じコレクションに対して、異なるアクションによる個別のスケジュールを設定できます。コレクションの更新を選択すると、2 つの追加フィールドが表示されます。1 つは、ドキュメントの一致条件を入力するためのフィールド、もう 1 つは、条件に一致するドキュメントがサブディレクトリで見つかった場合に、そのドキュメントも含めるためのフィールドです。

  5. 「Schedule Time」フィールドに、定期保守を実行する時刻を入力します。

    書式 (HH:MM) を使用して入力します。HH は 24 より小さい数、MM は 60 より小さい数である必要があります。時刻は必ず入力します。

  6. 「Schedule Day(s) of the Week」のセクションで、1 つまたは複数の曜日にチェックマークを付けます。

    すべての曜日を選択することもできます。少なくとも 1 つの曜日を選択する必要があります。

  7. 「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」リンクをクリックします。

    Web サーバに「Remove Scheduled Collection Maintenance」ウィンドウが表示されます。

  3. 「Choose Collection」のドロップダウンリストからコレクションを選択します。

    このリストには、定期保守を設定しているすべてのコレクションが表示されます。

  4. ドロップダウンリストから、「Reindex」、「Optimize」、「Update」のいずれかのアクションを選択します。

    フレームの下方に、現在保守スケジュールが実行されるように設定されている時刻と曜日が表示されます。

  5. 「OK」をクリックしてその保守スケジュールを削除します。

UNIX または Linux では、保守スケジュールの削除を有効にするには、ns-cron プロセスを再起動する必要があります。

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

  1. Administration Server から、「Global Settings」を選択します。

  2. 「Cron Control」リンクをクリックします。

  3. ns-cron がすでにオンになっている場合は、「Restart」をクリックして再起動します。ns-cron がオンになっていない場合は、「Start」をクリックして起動します。

    どちらの場合も、これで、定期保守スケジュールは実行されなくなります。



検索の実行:基本

ユーザが主に期待するのは、検索コレクション内でデータを照会し、ドキュメントのリストを取得することです。iPlanet Web Server をインストールすると、検索照会と検索結果のデフォルトのフォームセットもインストールされます。これらのフォームにより、ユーザにシンプルな検索方法を提供できます。

テキスト検索は、次の 4 つの部分で構成されています。

  • 照会の作成 - ユーザが検索条件を入力します。

  • 検索結果の表示 - 条件に一致するドキュメントのリストがサーバにより表示されます。

  • ドキュメントの表示 - ユーザは、検索結果リストから、強調表示されたドキュメントを表示できます。

  • コレクションのコンテンツの表示 - ユーザは、各コレクションで維持されている情報を表示できます。



    検索機能がオフになっている場合、これらの照会フォームは使用できません。



この節では、次の内容について説明します。


検索ホームページ

検索ホームページ (http://server_root:port/search を参照) には、3 つの検索照会インタフェースと、インタフェースのカスタマイズに関するオンライン形式の QuickStart チュートリアルへのリンクが用意されています。このチュートリアルには、各種のパターンファイルの説明、およびパターンファイルを変更して別の検索結果を出す例が示されています。


検索照会

iPlanet Web Server をデフォルトでインストールすると、標準 HTML 照会 (Standard HTML Search) 、拡張 HTML 照会 (Advanced HTML Search) 、および Java ベースのガイド付き照会(Guided Search) の 3 つの検索照会ページがインストールされます。

標準の検索照会では、検索対象のコレクションを選択し、照会言語演算子を使用して、検索する語または句を入力します。

Java ベースのガイド付き検索インタフェースでは、さまざまなドロップダウンリストを使用することで、照会を簡単に作成できます。この機能を利用するには、ブラウザで Java を有効にしておく必要があります。

拡張 HTML 照会ページでは、検索対象に複数のコレクションを選択する、検索結果のソート順序を設定する、1 ページに表示するドキュメント数を定義するなどの追加オプションを使用できます。通常、「前へ (Prev)」と「次へ (Next)」の矢印をクリックすると、検索結果のページ間を移動できます。

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

  1. Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。

    http://server_root:port/search

  2. 表示された検索照会ページで、「検索対象 (Search In)」フィールドのドロップダウンリストから、検索するコレクションを選択します。

  3. 「検索文字列(For)」フィールドに、検索する語句を入力します。演算子を組み合わせることによって、複雑な照会を作成することもできます。検索演算子の詳細は、「照会演算子の使用」を参照してください。

  4. 「検索 (Search)」ボタンをクリックして、照会を実行します。


ガイド付き検索 (Guided Search)

Java ベースのガイド付き検索インタフェースを使用することもできます。この機能は、ユーザが照会を作成するのをガイドするものです。これは、いくつかのパーツを含む照会を作成する場合、つまりドキュメントのコンテンツ内の語とともに特定の属性値を検索する場合に、特に有用です。

ブラウザで Java が有効になっていることを確認します。有効にするには、「設定」の「詳細」を使用します。



「Version Control」と「Link Management」の属性は、iPlanet Web Server では使用されなくなりました。ただし、ガイド付き検索を実行すると、依然として iPlanet Web Server がこれらの属性を返すことがあります。これらの変数は使用しないでください。



ガイド付き検索ページを表示するには、次の 2 つの方法があります。

  • 検索ホームページから表示する

  • 標準検索照会ページから表示する

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

  1. Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。

    http://server_root:port/search

  2. ホームページの「ガイド付き検索 (Guided Search)」リンクをクリックします。

標準検索照会ページからガイド付き検索インタフェースにアクセスするには、次の手順を実行します。

  1. Web ブラウザの location (アドレス指定) フィールドに次の URL を入力して、標準検索照会ページを表示します。

    http://server_root:port/search

  2. 標準検索ページの「ガイド付き検索 (Guided Search)」をクリックします。Java ベースのガイド付き照会ページが表示されます。

  3. 「Search in」フィールドのドロップダウンリストで、検索対象のコレクションを選択します。

  4. 「for」ドロップダウンリストで、検索する要素のタイプを選択します。ここでは、「Words」を選択したと仮定して説明を進めます。

  5. 空白のテキストフィールドに、検索する語句を入力します。

    検索演算子の詳細は、「照会演算子の使用」を参照してください。

  6. 「Add Line」をクリックして、照会の最初の条件を追加します。フォーム下部の大きなテキスト表示ボックスに、語句が表示されます。

  7. 照会に追加する別の要素を、ドロップダウンリストから選択します。ここでは、「Attribute」を選択したと仮定して説明を進めます。

  8. 選択されているコレクションで使用可能なすべての属性を新たに表示したドロップダウンリストから、検索する属性を選択します。

  9. テキスト入力フィールドの上のドロップダウンリストで、照会に適用する照会演算子 (Contains、Starts、Ends、Matches、Has a substring) または論理演算子 (=、<、 >、<=、>=) を選択します。

  10. 空白のテキストフィールドに、検索する属性値を入力します。

  11. 次のいずれかを選択します。

    • 照会にさらに行を追加する場合は、「Add Line」を選択します。

    • 追加した最後の行を削除する場合は、「Undo Line」を選択します。

    • 照会全体を削除する場合は、「Clear」を選択します。

  12. 「Search」ボタンをクリックして検索を実行します。


拡張検索 (Advanced HTML Search)

拡張 HTML 検索インタフェースを使用すると、照会の作成に役立ちます。このインタフェースは、複数のコレクションを検索対象とする照会を作成する場合や、検索結果を特定の属性値によってソートする場合に特に便利です。

拡張 HTML 検索ページを表示するには、次の 2 つの方法があります。

    • 検索ホームページから表示する

    • 標準検索照会ページから表示する

検索ホームページから拡張 HTML 検索ページにアクセスするには、次の手順を実行します。

  1. Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。

    http://server_root:port/search

  2. ホームページの「拡張検索 (Advanced HTML Search)」リンクをクリックします。

標準検索照会ページから拡張 HTML 検索ページにアクセスするには、次の手順を実行します。

  1. Web ブラウザの location (アドレス指定) フィールドに次の URL を入力して、標準検索照会ページを表示します。

    http://server_root:port/search

  2. ブラウザの「設定」の「詳細」を使用して Java を無効にします。

  3. 標準検索ページの「ガイド付き検索 (Guided Search)」をクリックします。Web サーバに拡張 HTML 照会ページが表示されます。

  4. 「検索文字列 (For)」フィールドに、検索する語句を入力します。

    演算子を組み合わせることによって、複雑な照会を作成することもできます。検索演算子の詳細は、「照会演算子の使用」を参照してください。

  5. 結果をソートする基準となる 1 つまたは複数の属性を入力します。

    デフォルトでは昇順でソートされますが、マイナス記号を使用して降順にソートされるように指定することもできます。ソートの詳細は、「結果のソート」を参照してください。

  6. 検索結果ページに表示する各ドキュメントのフィールド数、または一度に表示するフィールド数を指定すると、1 回の検索で返されるドキュメントの数を調整できます。

    結果が複数のページに表示される場合は、「前ヘ (Prev)」ボタンと「次へ (Next)」ボタンを使用して、前後のページを表示します。

  7. 「検索対象 (Search in)」フィールドのドロップダウンリストで、検索対象のコレクションを選択します。

    複数のコレクションを選択する場合は、Ctrl キーを押しながら別のコレクションをクリックします。ただし、照会対象のコレクションは、すべて同じ言語でなければなりません。

  8. 「検索 (Search)」ボタンをクリックして、照会を実行します。


検索結果

標準的な検索結果は、次の 2 タイプです。

  • 検索条件に一致するすべてのドキュメントのリスト

  • 一致するドキュメントのリストから選択した 1 つのドキュメントのテキスト

検索プロセスでは、次の各時点で、アクセス権限が確認されます。

  • 検索結果内で強調表示されているドキュメントに対して表示されるアイコンをユーザがクリックするとき。

  • 「NS-collection-acl-check」オプションが「yes」に設定されているコレクションを検索するとき。「NS-collection-acl-check」の設定は、すべてのコレクションに適用されます。このオプションが設定されている場合、dblist.ini でそのコレクション用に定義されたプライマリドキュメントディレクトリと一致する URI に対して設定された ACL が適用され、それらのコレクションに対する検索が実行されないようにします。


検索条件を満たすドキュメントのリスト表示

デフォルトでインストールした iPlanet Web Server では、標準検索照会ページまたは拡張検索照会ページから検索を実行すると、検索条件に一致するドキュメントのリストが返されます。このリストには、コレクションの書式に基づいて、各ファイルの標準的な情報が含まれます。たとえば、email コレクションのデフォルトの結果ページでは各エントリの subject、to、from、および date が示され、news コレクションの場合は各エントリの subject、from、および date が示されます。

コレクション内のファイル形式の種数により、検索に使用できるデフォルトの属性が決まります。各ファイル形式の属性については、「コレクションの属性について」を参照してください。

検索結果のエントリ間の近似性や一致の厳密性をチェックしてスコアを表示することにより、ファイルをランク付けできます。

一致したドキュメントが 1 ページに収まりきらない場合、「次へ (Next)」クリックすると次の検索結果を表示できます。照会データを新たに入力して「検索 (Search)」をクリックすれば、いつでも新規の検索を実行できます。


結果のソート

デフォルトでは、つまり拡張 HTML 照会ページの「ソート属性 (Sort by)」フィールドに何も入力しなければ、検索条件に一致するすべてのドキュメントが次の基準に従って返されます。

  • 相対ランキング (相対ランキングを適用する照会の場合)

  • サーバのファイルデータベース内の位置 (それ以外の照会の場合)

「ソート属性 (Sort by)」フィールドに属性名を入力すると、ドキュメントが昇順で表示されます。ドキュメントを降順に表示するには、-keywords-title のように、属性の前にマイナス記号 (-) を付けます。Author、-PubDate のように複数のフィールドに入力すると、複数の条件でソートできます。

通常、検索結果が比較的少ない照会の場合にはソート順は重要ではありませんが、大量の検索結果が表示される照会になるほど、有用な検索結果を得るためにソート値を設定したい場合があります。ただし、特殊なソート順を指定すると、検索のパフォーマンスに影響をおよぼす場合があります。



META タグフィールド内の属性値に指定できるのは、テキスト文字列のみです。このため日付や時刻などのすべての数値は、テキストとしてソートされます。META タグ属性内の無効な HTML 文字は、ハイフンで置き換えられます。




強調表示されているドキュメントの閲覧

デフォルトでインストールした iPlanet Web Server では、検索条件に一致するドキュメントのリストを取得したときに、1 つのドキュメントを選択して Web ブラウザに表示できます。パターンファイルでどのように設定されているかにより、ドキュメントを表示する際に、検索照会に入力した語を色、太字、または点滅によって強調表示することができます。

強調表示されているドキュメントを閲覧するには、検索結果の中からそのドキュメントのエントリをクリックします。強調表示されているドキュメントへのアクセスに使用するフィールドは、検索インタフェースでどのように設計されているかによって異なりますが、デフォルトのインストールでは、リストされているそのドキュメントの隣にあるアイコンをクリックします。そのアイコンのリンクに追加されているコードにより、検索照会の語を強調表示して表示するドキュメントの書式が定義されます。

デフォルトの検索結果ページでは、ファイルの URL をクリックすると、そのファイルは強調表示なしでブラウザに表示されます。

HTML に変換されたドキュメントの場合は、オリジナルのドキュメントへの URL が表示されます。変換された HTML ドキュメントを表示するには、ドキュメントのタイトルをクリックします。


コレクションのコンテンツの表示

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

  • コレクション名、ラベル、および説明

  • コレクションの書式

  • コレクション内の属性数および属性名のリスト

  • コレクション内のドキュメント数

  • コレクションのサイズおよび状態

  • 言語および文字セット

  • 入力および出力の日付の書式

コレクションデータベースの内容を表示するには、次の URL を使用します。

http://server_root:port/search?NS-search-page=c



照会演算子の使用

効果的に検索を行うためには、照会演算子の使用方法を理解しておく必要があります。照会演算子を使用した検索を実行できるのは、ブール (boolean) 検索だけです。このため、この項目での説明はすべてブール検索規則に基づいたものになります。



照会言語は、大文字と小文字を区別しません。この例で大文字を使用しているのは、分かりやすくするためです。



検索エンジンは、一連の構文規則に基づいて検索照会を解釈します。たとえば、「region」という語を入力すると、元の「region」という語に加えて、「regions」や「regional」などの派生語がすべて検索されます。検索結果は、重要度の高い順 (つまり、一致した語が入力した元の検索条件にどれほど近いか) にランク付けされます。region の例では、「region」そのものが、他のどの派生語よりも上位にランク付けされます。

すべての照会で、結果がランク付けされるわけではありません。一致の度合いが一様でない照会に限り、ランク付けが可能です。たとえば、<CONTAINS 照会は、指定された文字列が含まれているか含まれていないかのどちらかですが、<NEAR 照会では、指定されている単語間の近接度によってランク付けすることが可能です。指定されている単語間の距離が近いほど検索結果の上位に示され、離れているほど下位に置かれます。

この節では、次の内容について説明します。


デフォルトの想定

検索照会言語には、ユーザの入力を解釈する方法に関する暗黙のデフォルトおよび想定事項がいくつかあります。場合によってはデフォルトを回避できる場合もありますが、検索エンジンは、次の項目を使用して返すべき検索結果を決定します。

  • <STEM> 検索する語句そのものおよび派生語 (意味が同じ物から派生した) を含むすべてのドキュメントを検索します。検索エンジンは、単なる綴りではなく、語の意味に注目します。たとえば、「plan」という語を検索する場合、「planning」や「plans」を含むドキュメントは検索結果に含まれますが、「plane」や「planet」を含むドキュメントは含まれません。

  • <MANY> 検索の語句がドキュメント内に登場する回数を計算し、頻度 (または関連性) に基づいて結果をランク付けします。

  • <PHRASE> 空白で区切られた複数の語を、1 つの句の一部であると見なします。たとえば、「Monterey otter」は 1 つの句として解釈されるため、両方の語が存在し、共に見つかる必要があります。この種の検索では、「sea otter」や「Monterey Bay」を含むドキュメントは一致の対象にはなりません。

    2 つの語が 1 つの句と見なされるかどうかが明確でない場合には、括弧 ( ) を使って句であることを明示することができます。(例、<PHRASE> (rise "and" fall))

  • OR 照会内のコンマで区切られた各語や句は、省略可と見なされます。ただし、少なくとも 1 つは存在しなければなりません。効果の上では、これは暗黙的に OR と同じになります。たとえば「Monterey, otter」と指定すると、「Monerey」または「otter」のいずれかを含むドキュメントが検索されます。OR を山括弧 (< >) で囲む必要はありません。


検索規則

複雑な検索を作成するには、次のような方法があります。

  • 照会演算子を組み合わせる

  • 照会の構文を操作する

  • ワイルドカード文字を使用する


山括弧 (<>)

ANDORNOTDATE および数値比較演算子を除き、<CONTAINS><WILDCARD> のように、照会演算子を山括弧 (<>) で囲む必要があります。


演算子を組み合わせる

1 つの照会内で複数の照会演算子を組み合わせて、より厳密な結果を取得できます。たとえば、次の照会を入力すると、「Bay」と「Monterey」を含み、「Aquarium」を含まないドキュメントを検索できます。

Monterey AND Bay NOT <CONTAINS> Aquarium

暗黙的な句をいくつか含めることにより、さらに精度を高めることができます。たとえば、次の照会では、「Monterey Bay Aquarium」全体および「otters」を含み、かつ「shark」を含まないドキュメントを検索できます。

Monterey Bay Aquarium AND otter AND NOT shark


照会演算子を検索語として使用する

照会演算子は、引用符で囲むことにより、検索語として使用できます。たとえば、次の照会を入力すると、「ebb and flow」という語を含むドキュメントを検索できます。

<CONTAINS> ebb "and" flow


派生語検索の取り消し

暗黙の派生語検索を実行しない場合は、語を引用符で囲みます。次に例を示します。

"plan"

この照会では、「plan」と完全に一致する単語が含まれるドキュメントだけが検索されます。「plans」や「planning」を含むドキュメントであっても、「plan」そのものが含まれていなければ、無視されます。


演算子の修飾

演算子 AND、OR、および NOT を使用して、他の演算子を修飾することができます。たとえば、タイトルに「theme park」という句を含むドキュメントを検索から除外する場合、次の照会を入力します。

Title NOT <CONTAINS> theme park


使用する演算子の決定

次の情報を参考にして、使用する演算子を決定してください。特に、照会言語では、大文字と小文字は区別されないことに注意してください。このため、<starts><STARTS> は等価になります。このドキュメントで大文字を使用しているのは、分かりやすくするためです。


表 12-3    使用する演算子の決定 

検索のタイプ

有効な演算子

日付または数値の比較によりドキュメントを検索します  

  • 大なり (>)

  • 以上 (>=)

  • 小なり (<)

  • 以下 (<=)

 

DATE >= 06-30-96

1996 年 6 月 30 日以降に作成されたドキュメントを検索します  

特定のドキュメントフィールド内またはフィールド内の特定位置内の語句を検索します  

  • <STARTS>

  • <CONTAINS>

  • <ENDS>

  • 等価 (=)

 

Title <STARTS> Help

タイトルが「Help」で始まるドキュメントを検索します  

ドキュメント内の複数の語を検索します  

  • AND

  • <NEAR/1>

 

specifications AND review

「specifications」と「review」の両方を含むドキュメントを検索します  

次の表に、よく使用される演算子の説明と使用例を示します。別途明記されていない限り、検索結果はすべて、相対ランク付けされた順序で表示されます。


表 12-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」の両方を含むドキュメントを検索します。ただし、「purchase supplies」と「stock up」を含むドキュメントよりも、「stock purchase」を含むドキュメントの方が上位にランク付けされます  

<NEAR/N>

 

  • 指定された複数の語が N 語以内の位置にあるドキュメントを検索します。N には、1000 までの整数を指定できます。各語のドキュメント内での位置が近いほど、ドキュメントは上位にランク付けされます

 

stock <NEAR/1> purchase

  • 「stock purchase」および「purchase stock」という句を含むドキュメントを検索します

  • 「purchase supplies and stock up」のように、「stock」と「purchase」が隣接していない句が含まれていても、そのドキュメントは無視されます

  • 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」も検索に当てはまります  

<WILDCARD>

 

  • 検索文字列にワイルドカード文字を含めて、ドキュメントを検索します。綴りが類似しているが、特定の語の意味的派生語としては検索できない語を指定する場合に、これを使用します

  • * や ? などの特定の文字を指定すると、ワイルドカードによる検索が自動的に行われます。この場合、<WILDCARD> という語を含める必要はありません

 

<WILDCARD> plan*

  • 「plan」、「plane」、「planet」、その他「plan」で始まる全ての語 (「planned」、「plans」、「planetopolis」など) を含むドキュメントを検索します

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

 
<WORD>

 

  • 指定された語を含むドキュメントを検索します

 

<WORD> theme

「theme」そのものの他に、「thematic」、「themes」など、「theme」を語幹に持つ語を含むドキュメントを検索します  


ワイルドカードの使用

ワイルドカードを使用すると、特殊な結果を取得できます。たとえば、綴りが似ているが、同じ意味の語幹からの派生ではない語を含むドキュメントも検索できます。たとえば、plan の意味的派生語には plansplanning, が含まれますが、planeplanet は含まれません。ワイルドカードを使用すると、これらの語もすべて検索できます。

サポートされているワイルドカード文字は、「*」および「?」のみです。これらの語を指定すると、自動的にワイルドカードベースの検索が行われます。このため、式に <WILDCARD> 演算子を指定する必要はありません。


表 12-5    ワイルドカード演算子 

文字

説明

*  

  • 0 個以上の英数字を意味します。たとえば、air* を指定すると、「air」そのものを含めて、「airline」や「airhead」などを含むドキュメントが検索されます

  • ただしこのワイルドカードは、式の最初の文字として指定することはできません

  • このワイルドカードが ([ ])または ({ }) で囲まれている場合、ワイルドカードは無視されます

  • このワイルドカードを使用すると、<WILDCARD> 演算子が暗黙的に指定されます

 

?  

  • 1 つの英数字を意味します。「?」を複数個使用して、複数の文字を指定することもできます。たとえば、?at を指定すると、「cat」および「hat」などを含むドキュメントを検索します。??at を指定すると、「that」および「chat」などを含むドキュメントを検索します

  • このワイルドカードが ([ ])または ({ }) で囲まれている場合、ワイルドカードは無視されます

  • このワイルドカードを使用すると、<WILDCARD> 演算子が暗黙的に指定されます

 


英数字以外の文字

英数字以外の文字を検索するには、コレクションの作成に使用された style.lex ファイルが、英数字以外の文字を認識するように設定されている必要があります。このファイルは、server_root\plugins\search\common\style\ ディレクトリの html、news、および mail のサブディレクトリにあります。



検索インタフェースのカスタマイズ



サーバ管理者は、ユーザの特定の要件に合わせて検索インタフェースをカスタマイズすることができます。ユーザに表示される HTML ベースのフォームはすべて、パターンファイルのセットによって次のことを行うように定義されます。

  • 検索結果ページのヘッダーとフッターの書式を表示する

  • 照会に応答して表示される各検索結果のレコードを表示する

検索の入力および出力に使用されるフォームを作成するための一連のパターン変数があります。この変数の多くは、システム構成ファイルおよびユーザ構成ファイルの userdefs.ini およびdblist.ini に定義されています。これらのファイルについては、「手動によるファイルの構成」を参照してください。



http://server_root:port/search にある検索ホームページでも、検索インタフェースの紹介、およびインタフェースのカスタマイズに関するオンライン形式の QuickStart チュートリアルを参照できます。このチュートリアルには、各種のパターンファイルの説明、およびパターンファイルを変更して別の方法で結果を表示する例が示されています。



この節では、次の内容について説明します。


動的に生成されるヘッダーとフッター

動的に生成されるヘッダーとフッターを指定できます。そのためには、add-headers および add-footers 指令を Service 関数として obj.conf ファイルに追加します。これらの指令には、パスまたは URI のどちらかのパラメータが必要です。ヘッダーまたはフッターとして静的ファイルを指定する場合は、パスのパラメータを使用します。次に例を示します。

Service fn="add-headers" path="/export2/docs/header.html"

Service fn="add-footer" path="/export2/docs/footer.html"

CGI プログラムなどのように動的に生成されるファイルをヘッダーまたはフッターとして指定する場合は、URI パラメータを使用します。次に例を示します。

uri="/cgi-bin/header.cgi"

これらの Service 関数は、send-filesend-cgi など、要求に応答する実際の Service 関数の前に置く必要があります。


HTML パターンファイル

インタフェースのカスタマイズは、まず、既存のパターンファイルを変更することから始めるとよいでしょう。パターン変数とその働きについて理解すれば、独自のパターンファイルを作成し、それらのファイルをポイントするように構成ファイルやほかのパターンファイルを変更することができます。デフォルトでインストールした iPlanet Web Server では、パターンファイルは server_root\plugins\search\ui\text ディレクトリにあります。後で復元できるように、元のパターンファイルのコピーを作成しておくことをお勧めします。

email、news、ASCII、PDF、HTML など、各種のコレクション用のパターンファイルがあります。また、汎用タイプのパターンファイルもいくつかあり、それぞれに特定の用途があります。ASCII-record.patEMAIL-record.pat などのように、ファイルの接頭辞によって、どのタイプのファイルに使用するパターンファイルであるかがわかります。汎用パターンファイルには、次の種類があります。

  • NS-query.pat は、標準照会ページおよび拡張照会ページを表示します。検索照会ページ上に Web 検索 (「Web検索 (Search the Web)」ボックス) を呼び出す HTML が記述されています。

  • tocstart.pat は、検索結果ページの上部にヘッダーを表示します。

  • tocrec.pat は、検索結果ページにリストされた各ドキュメントを表示します。

  • tocend.pat は、検索結果ページの下部にフッターを表示します。

  • record.pat は、検索結果ページから、強調表示された単一のドキュメントを表示します (詳細は、「強調表示されているドキュメントの閲覧」を参照)。

  • descriptions.pat は、コレクションの内容を表示します。

パターンファイルには、要素の表示方法を定義する HTML フォーマッティング命令と、表示されるテキストラベルや値を定義する HTML 検索の引数および変数が記述されています。

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

標準照会のパターンファイルである NS-query.pat の次の行は、これらの変数がどのように連携して機能するかを示しています。

<input type="hidden" name="NS-max-records" value="$$NS-max-records">

<td align=left colspan=2>$$logo</td>
<td align=right><h3>$$sitename</h3></td>

<td align=right><b>$$queryLabel</b></td>
<td align=left>&nbsp;<input name="NS-query" size=40 value="$$NS-display-query"></td>

各行には、標準の HTML タグと、$$ 接頭辞または $$NS- 接頭辞が付いた 1 つまたは複数の変数が記述されています。各行についてさらに詳細に調べるためには、「手動によるファイルの構成」で説明されている、構成ファイルを調べる必要があります。

  • NS-max-records : このフィールドは非表示のため、ユーザはこの値を変更できません。この値は、一度に返す一致ドキュメント数を定義します。ただし、拡張 HTML 照会パターンファイルの NS-advquery.pat では、ユーザが変更できる入力フィールドになります。

  • $$NS-max-records : 検索を実行すると、このフィールドから変数が生成され、後続の検索で、一度に表示する結果レコード数を計算するためにその変数を使用できます。拡張照会では、この値を照会ごとに変えることができます。

  • $$logo : userdefs.ini ファイルに定義されます。ユーザがフォームに表示したいイメージまたはテキストを定義できます。

  • $$sitename : $$NS-host 検索マクロから提供されるサーバのホスト名として、userdefs.ini ファイルに定義されます。

  • $$queryLabel : 照会入力フィールドのテキストラベルとして、userdefs.ini ファイルに定義されます。この場合、フォーム上のラベルは「検索文字列 (For) :」です。

  • NS-query : 入力フィールド名として、このパターンファイルに定義されます。

  • $$NS-display-query : userdefs.ini ファイルに定義されます。検索を実行すると、このフィールドから変数が生成され、後続の検索で、一致ドキュメントの全文を表示するときにどの語または句を強調表示するかを決定するためにその変数を使用できます。


検索関数の構文

検索関数では、標準の URL 構文を、一連の検索引数の「名前-値」ペアとともに使用します。基本的な構文を次に示します。

http://server_root/search?name=value[&name=value][&name=value]

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

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

<td colspan=6><font size=+2><b>$$collectionLabel</b>
<a href=$$NS-server-url/search?NS-collection=$$NS-collection>
$$NS-collection-alias</a>
</font></td>

この例の HREF では、次の各要素を使用して、完全な検索関数を記述しています。

  • $$NS-server-url : ユーザのサーバ URL を特定する検索マクロ。
    /search : 検索コマンド。

  • ? : 照会文字列インジケータ。? の後の文字列はすべて、検索関数に使用される情報です。

  • NS-collection=$$NS-collection : $$NS-collection 検索マクロを使用して、コレクションのファイル名を定義します。

検索で、条件付きで変数が使用されるように、つまり、変数に対応する値がない場合は何も表示されないように設定することができます。その構文を次に示します。

variableName[conditionalized output]

たとえば、ドキュメントのタイトルが存在する場合は出力されるように要求できます。このドキュメントにタイトルがない場合は、「Title:」のラベルも表示されないようにすることができます。その場合は、次のように入力します。

$$Title[<P>Title:<B>$$Title</B>]


URL エンコーディング

HTML 命令を作成するときは、修飾 URL 内でもパターンファイル内でも、URL エンコーディングの規則に従う必要があります。URL の一部と誤って解釈される可能性のある文字は、%nn の書式でコード化する必要があります。nn は、16 進コードを表します。空白文字は、照会では + (プラス記号) に、出力では %20 に変換されます。次の表は、もっともよく使用される URL コードを示しています。


表 12-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 になります。

  • 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 では、独自のユーザ定義のパターン変数をいくつでも作成できます。また、既存の定義を変更することもできます。これらの変数をパターンファイルで使用する場合は、$$ 接頭辞を追加します。変数名には、最大で 32 の文字または数字、あるいは両方の組み合わせを使用できます。文字には、大文字または小文字の A-Z、ハイフン (-)、および下線 (_) を使用できます。変数名は、大文字と小文字が区別されます。

iPlanet Web Server に付属するデフォルトの userdefs.ini ファイルには、次の項目を定義するのに使用される変数が記述されています。

  • 検索照会ページ (ファイル内の [query])

  • 結果リスト ([toc])

  • ドキュメント表示ページ ([record])

  • コレクションの内容ページ ([contents])

各行は変数名で始まり、その変数の定義が続きます。多くは画面要素のラベルですが、ほかのファイルへのパスや、もっと複雑な内容のものもあります。例として、このファイルの [query] セクションからの行を次に示します。


[query]
NS-character-set=EUC-JP
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=+1>iPlanet&nbsp;</font><font size=+2>S</font><font size=+1>earch</font></b>
sitename = $$NS-host
help = /manual/ug/search.htm
title = 検索インタフェースのサンプル
searchButtonLabel = 検索
searchNote = 検索を行うには、コレクションを選択し、検索語句をコンマで区切って入力します。 <br>(例: search, jet engines, basketball)
advSearchNote = 検索を行うには、コレクションを選択し、検索語句をコンマで区切って入力しま す。<br>(例: search, jet engines, basketball)<p>指定した属性値によってソートされま す。降順にソートする場合は「-」を属性の前に付けます。<br>(例: Title,-Author,+Date)
queryLabel = 検索文字列:
queryLabelSJIS = $$queryLabel
queryLabelEUC = $$queryLabel
queryLabelJIS7 = $$queryLabel
collectionLabel = 検索対象:
booleanLabel = ブール検索
sortByLabel = ソート属性:
sortByLabelSJIS = $sortByLabel
sortByLabelEUC = $sortByLabel
sortByLabelJIS7 = $sortByLabel
freetextLabel = フリーテキスト (使用不可)
maxDocumentsLabel = 表示するドキュメント数:
maxDocumentsLabelSJIS = $$maxDocumentsLabel
maxDocumentsLabelEUC = $$maxDocumentsLabel
maxDocumentsLabelJIS7 = $$maxDocumentsLabel
copyright = Copyright &#169; 1999-2001 Sun Microsystems, Inc. Copyright &#169; 1997-2000 Netscape Communications Corporation. All Rights Reserved.
advancedButtonLabel = 詳細ボタンラベル
helpButtonLabel = ヘルプボタンラベル

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

uidir = $$NS-server-url/search-ui
icondir = $$uidir/icons

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

変数の定義では、サポートされているすべての HTML 文字エンティティを使用できます。&name; の書式で定義されたエンティティ名および &#nnn; の書式で 3 桁のコードにより定義されたエンティティ名を使用できます。userdefs.ini のコーディング例では、&nbsp; エンティティで非区切りスペースを挿入し、&#169; エンティティで著作権記号を挿入しています。一般的に使用されるエンティティの一部を次の表に示します。


表 12-7    一般的な HTML 文字エンティティ  

数値コード

エンティティ名

説明

&#032;  

 

空白文字  

&#034;  

&quot;  

引用符  

&#036;  

$  

ドル記号  

&#058;  

-  

コロン  

&#060;  

&lt;  

より小さい  

&#062;  

&gt;  

より大きい  

&#153;  

-  

商標記号  

&#160;  

&nbsp;  

非区切りスペース  

&#169;  

&copy;  

著作権記号  

&#174;  

&reg;  

登録商標  


構成ファイルの変数

いくつかの変数は、システム構成ファイルおよびコレクション構成ファイルに定義されます。これらの変数は、HTML ページのほかのマークアップタグと区別するために、構成ファイルでは NS- 接頭辞を使用します。これらの変数を検索関数の引数として使用する場合は、$$NS-date-time$$NS-max-records などのように、変数にさらに $$ 接頭辞を追加します。

1 つのサーバ上のすべての検索に対してデフォルトを定義する変数は、システム構成ファイルに定義されます。


NS-max-records = 20
NS-query-pat = /text/NS-query.pat
NS-ms-tocstart = /text/HTML-tocstart.pat
NS-ms-tocend = /text/HTML-tocend.pat
NS-default-html-title = (Untitled)
NS-HTML-descriptions-pat = /text/HTML-descriptions.pat
NS-date-time = %b-%d-%y %H:%M


各サーバの構成によってインストール内容が異なる場合がありますが、もっとも一般的に使用される変数を次の表に示します。


表 12-8    一般的に使用される変数 

変数

説明

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 ファイルに定義されます。このファイルに定義される変数は次のとおりです。


NS-doc-root = C:/iPlanet/Servers/docs
NS-url-base = /
NS-display-select = YES


dblist.ini ファイルに定義される変数は、使用しているコレクションのタイプによって異なります。表 12-9 は、よく使用されるコレクション固有の変数のいくつかを示しています。


表 12-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-number 変数を、ドキュメントの 1 つを詳細に表示するドキュメントページの定義に再利用できます。この方法により、このドキュメントは最初の検索で返された 24 ドキュメントのうちの 3 番目のドキュメントであることをユーザに知らせることができます。

次の表は、後続のパターンファイルまたは修飾 URL 内で使用できる検索マクロと生成される変数を示しています。


表 12-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 を提供します。email の場合は mailbox:/boxname?id-messageID の書式、news の場合は 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  

結果リストにあるドキュメントの作成時刻。この値を取得するには、NS-use-system-stat = YES に設定する必要があります。システムの統計処理は負荷が大きいため、デフォルトでは NO に設定されています  

$$NS-doc-size  

もっとも近い K バイトに丸めた、ドキュメントのサイズ。この値を取得するには、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 つ以上選択できます。デフォルトでは、昇順にソートされます  


前へ     目次     索引     DocHome     次へ     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated October 17, 2001