![]() |
iPlanet Web Server, Enterprise Edition 管理者ガイド |
第 12 章 検索機能の使い方
iPlanet Web Server の検索機能を使用すると、サーバ上のドキュメントの内容と属性を検索できます。サーバ管理者は、ユーザのコミュニティに合わせてカスタマイズしたテキスト検索インタフェースを作成できます。
検索について
サーバドキュメントには、HTML、Microsoft Excel、Adobe PDF、WordPerfect などの各種形式を使用できます。ただし、それぞれのファイル形式で使用できる変換フィルタがあることが前提です。このフィルタにより、サーバは、それらのドキュメントを HTML に変換し、ドキュメントのインデックスを作成し、検索で見つかったドキュメントを Web ブラウザに表示できるようにします。詳細は、「コレクションについて」を参照してください。ユーザは、サーバドキュメントで特定の単語または属性値を検索して、照会と一致するすべてのドキュメントを一覧表示する検索結果セットを取得できます。さらに、結果のリストから 1 つのドキュメントを選択して、そのドキュメント全体を表示することもできます。このようにして、サーバ上のコンテンツに簡単にアクセスできます。
サーバで検索機能を使用可能にするには、まず、そのサーバに固有の構成要件を明確にし、いくつかの検索の構成画面を使ってそれらの要件を入力します。次に、検索対象にする1 つまたは複数のドキュメントのディレクトリを特定し、そのドキュメント情報のインデックスを作成して、コレクションと呼ばれる検索可能なデータベースに格納します。以下の節で、検索の構成およびコレクションのインデックス作成について詳しく説明します。
テキスト検索の構成
サーバに対する検索機能にはいくつかの項目を設定できます。コレクション固有の構成では、特定のコレクションに対してドキュメントのインデックスを作成する方法を制御します。この構成は、コレクションを作成する前に定義する必要があります。その他の構成の操作は、検索そのものに影響するだけなので、いつ定義してもかまいません。
すべてのコレクションに影響する構成の操作は次のとおりです。
この節では、次の内容について説明します。
検索アクセスの制御
検索機能では、サーバのデフォルトの 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 にマッピングするプライマリドキュメントディレクトリ (ドキュメントルートとも呼ばれる)
コレクションの作成時に、インデックスを作成するドキュメントディレクトリを指定する必要があります。その場合、URL がマッピングされているディレクトリ、または URL がマッピングされているディレクトリ内のサブディレクトリだけを選択できます。特定のディレクトリを定義する、独自のマッピングを作成することができます。
Class Managerを開き、ドロップダウンリストからサーバインスタンスを選択します。
「Additional Document Directories」リンクをクリックします。
(省略可能) 次のどちらかを入力して、別のディレクトリを追加します。
- Web サーバに「Additional Document Directories」ページが表示されます。
次のどちらかを選択して、リストされている現在の追加ディレクトリのうちの 1 つを編集します。
編集する場合は、変更しようとしている、リストされているディレクトリの隣にある「Edit」を選択します。
(省略可能) ディレクトリにスタイルを適用する場合は、「Apply Style」ドロップダウンリストからスタイルを選択します。
「OK」をクリックして、新しいドキュメントディレクトリを追加します。
- スタイルの詳細は、第 17 章「構成スタイルの適用」を参照してください。
「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。
注 追加のドキュメントディレクトリに基づいてコレクションを作成した後は、URL マッピングを変更してはなりません。変更すると、そのコレクションのエントリの URL マッピングが間違った物理ファイルの場所を指すことになります。
検索からの単語の除外
検索エンジンでインデックスの対象としない、または検索対象にしない単語を指定できます。通常、これらの単語は「ストップワード」または「検索から除外する単語」と呼ばれ、at、and、be、for、the などの冠詞、接続詞、および前置詞がこれに含まれます。ストップワードを指定するには、style.stp という名前のファイルを編集します。このファイルは、server_root\plugins\search\common\style ディレクトリにある、各コレクションタイプのhtml、pdf、mail、および news の各サブディレクトリにあります。それぞれの style.stp ファイルは、そのコレクションタイプのストップワードを制御します。たとえば、server_root\plugins\search\common\style\html にある style.stp ファイルは、そのコレクションの HTML ファイルのストップワードを制御します 。
ストップワードは、1 行に 1 語づつ、左揃えで style.stp に追加します。文字クラスを示す角括弧 ([ ])、任意の文字を示すピリオド (.)、繰り返しを示すプラス記号 (+) などの演算子を使用できます。たとえば、style.stp ファイルに次の行が記述されているとします。
この例では、最初のピリオドの行 (デフォルトでファイルに記述されている) は、40 文字以上の語はインデックスに含めないことを示します。さらに、インデックスに含めない単語として at、and、be を指定しています。[0-9a-zA-Z] は、1 文字の単語は一切インデックスに含めないことを示します。[0-9][0-9][0-9][0-9]+ は、4 桁以上の整数は一切インデックスに含めないことを示します。
- ........................................+
at
and
be
[0-9a-zA-Z]
[0-9][0-9][0-9][0-9]+
指定する語は、大文字と小文字が区別されます。したがって、単語の大文字と小文字によるすべてのバリエーションを入力する必要があります。たとえば、the の場合は、the、THE、および The を入力する必要があります。
ストップワードを使用する場合は、コレクションを作成する前に、style.stp ファイルを作成する必要があります。コレクションの作成後に style.stp ファイルを変更する場合は、次の手順が必要になります。
検索のオンまたはオフ
ユーザがサーバまたは Web サイトを検索できるようにするためには、検索をオンに設定する必要があります。デフォルトの設定では、検索はオフになっています。検索機能をオンまたはオフにするには、Server Manager の「Search State」インタフェースを使用します。ユーザが検索を使用しないサーバでは、検索をオフにすると、サーバのパフォーマンスを高めることができます。また、サーバのトラフィックが重くなる場合に検索機能をオフにし、トラフィックが軽くなれば再びオンにすることもできます。検索をオフにしていると、HTTP サーバの起動時に検索プラグインは読み込まれません。
検索パラメータの構成
サーバ管理者は、検索結果を取得するときにユーザに表示される内容を制御するデフォルトのパラメータを設定できます。
Server Manager にアクセスして、「Search」を選択します。
「Search Configration」リンクをクリックします。
「Default Result Set Size」フィールドに、ユーザに一度に表示される検索結果項目のデフォルトの最大数を入力します。
- Web サーバに「Search Configration」ページが表示されます。
「Largest Possible Result Set Size」フィールドに、結果セットの最大項目数を入力します。
- この数は、手順 4 で設定する「Largest Possible Result Set Size」の値よりも大きくしてはなりません。デフォルトは 20 です。
「Date/Time」の文字列を Posix 書式で入力します。
- デフォルトは 5000 です。値として 250 を入力すると、検索条件に一致するドキュメントが 1000 見つかっても、ユーザがアクセスできるのは、最初の 250 ドキュメント、つまり上位 250 にランク付けされたドキュメントだけになります。
HTML ドキュメントにタイトルタグが設定されていない場合に使用される、デフォルトの HTML タイトルを入力します。
- このエントリでは、ユーザに表示される日付および時刻の書式を定義します。リストされている記号を使用します。
そのコレクションへのアクセスを制限したい場合は、「Check access permissions on collection root before doing a search ?」に「Yes」を選択します。
- 一般的な HTML のデフォルトは、「(Untitled)」であり、これが HTML ファイルの検索結果ページに表示されます。
検索結果内の各ドキュメントに対してアクセス制御チェックを実行したい場合は、「Check access permissions on search results ?」に「Yes」を選択します。
「Apply Changes」を選択し、サーバのハードスタートまたはハードリスタートを実行します。
表 12-1    Posix による共通の日付と時刻の書式
書式
表示結果 (例)
検索パターンファイルの構成
パターンファイルは、テキスト検索インタフェースのレイアウトを定義する HTML ファイルです。検索機能や、検索インタフェースの特定の部分を作成するパターン変数セットにパターンファイルを関連付けることができます。パターンファイルでは、テキスト検索インタフェースの外観、操作性、および機能を定義します。パターンファイルでパターン変数を使用することにより、背景色、ヘルプテキスト、バナーなどをカスタマイズできます。パターン変数の値は、その変数が表す実際のテキストやグラフィックスが格納されているファイルのパス名の場合もあれば、テキストや HTML の場合もあります。デフォルトのパターンファイルを使用することも、独自にカスタマイズしたファイルセットを作成することもできます。単一コレクションまたは複数コレクションの検索で開始パターンファイルと終了パターンファイルが指定されていない場合は、デフォルトの開始パターンファイルと終了パターンファイルが使用されます。ユーザインタフェースの変更方法の詳細は、「検索インタフェースのカスタマイズ」を参照してください。
検索の実行時に特定の検索要求に関連付けられたデフォルトのパターンファイルを探す場所を定義するには、そのパターンファイルのパスを指定する必要があります。
Server Manager にアクセスして、「Search」を選択します。
「Search Pattern Files」リンクをクリックします。
パターンファイルが格納されているディレクトリの絶対パスを入力します。
- Web サーバに「Search Pattern Files」ページが表示されます。
「Default Start Pattern File」に相対パス名を入力します。
- 開始 (ヘッダー)、終了 (フッター)、および照会ページのデフォルトのパターンファイルがこのディレクトリに格納されます。
「Default End Pattern File」に相対パス名を入力します。
- このエントリは、コレクションに定義されたヘッダーファイルがない場合、または複数のコレクションを検索する場合の、検索結果のトップページを定義します。
「Pattern File for Query Page」に相対パス名を入力します。
- このエントリは、コレクションに定義されたフッターファイルがない場合、または複数のコレクションを検索する場合の、検索結果ページのフッターを定義します。
「OK」をクリックして、検索パターンファイルを構成します。
- このエントリは、検索機能の起動時に表示される検索照会ページを定義します。
手動によるファイルの構成
検索機能では、いくつかの構成ファイルを調べることにより、サーバの検索がどのように構成されているか判別します。それらの構成ファイルには、システム設定、ユーザが定義した変数、および検索コレクションに関する情報が定義されています。通常、この情報は iPlanet Web Server の「Search」ページから変更しますが、テキストエディタを使用して手動でこれらのファイルを変更することもできます。ユーザインタフェースをカスタマイズするための構成ファイルの変更については、関連情報が「検索インタフェースのカスタマイズ」で説明されています。
注 手動による構成ファイルの変更は、お勧めすることはできません。手動で変更を加える場合は、変更内容を有効にするには、サーバを再起動する必要があります。
構成ファイル
検索を制御する構成ファイルは、次のリストで記述されます。
userdefs.ini - このユーザ定義ファイルでは、ユーザが定義したパターン変数を定義します。これは、使用する言語 (英語、ドイツ語、日本語など) の userdefs.ini ファイルにマッピングされます。
dblist.ini - このコレクション内容ファイルでは、コレクション固有の情報を記述します。コレクションを作成して管理すると、そのコレクションに関する情報で dblist.ini ファイルが更新されます。
- 独自のパターン変数を作成して userdefs.ini ファイルに定義することにより、すべてのパターンファイルの検索インタフェースをカスタマイズできます。詳細は、「ユーザ定義のパターン変数」を参照してください。
属性の最大数の調整
コレクションには、ファイル形式によって異なるデフォルト属性セットがあります。たとえば、HTML ファイルには、Title 属性と SourceType 属性があります。HTML ファイルに META タグ付きの HTML 属性を定義することもできます。PDF のように、非常に多くのデフォルト属性があるファイル形式もあります。各ファイル形式の属性の詳細は、「コレクションの属性について」を参照してください。
インデックス作成に使用するメモリの制限
インデックス作成操作に使用できる RAM の容量に制限を設けることができます。これを行うには、[NS-loader] ファイルを手動で編集して、最大メモリ量を定義する行を追加します。次に例を示します。
サーバのデフォルトでは、使用可能なシステムメモリをすべて使用するように設定されています。通常、次の条件に該当する場合は、インデックス作成に使用する RAM を制限する必要があります。
- NS-max-memory = 32000000
RAM が推奨最小値よりも小さいマシンにサーバをインストールしている場合。
Windows NT サーバのサーバ管理者が、大量のインデックス作成を必要としながらも、ほかのサーバ操作にメモリを必要とする場合。
インデックスファイルのサイズ制限
インデックスファイルに使用できるディスク容量を制限できます。これを行うには、[NS-loader] ファイルを手動で編集して、インデックスファイルの最大サイズを定義します。次に例を示します。
通常、インデックス作成操作には、1 ファイルにつき約 1.5M バイト必要です。一時ファイルと合わせて 2 ファイルあるので、インデックス作成には 3M バイトのディスク容量が必要になります。ファイルサイズを 1 ファイル当たり 1.5M バイトに設定することで、各ファイルのサイズの上限が設定されます。
- NS-max-idx-file-size = 1500000
ドキュメントのインデックス作成
ユーザが検索を実行するには、検索可能なデータのデータベースが必要です。ドキュメントの内容やファイルプロパティなど、ドキュメントに関する情報のインデックスを作成して保存する、コレクションと呼ばれるデータベースを作成する必要があります。検索には、検索対象となるファイルのコレクションが必要です。ドキュメントのインデックスを作成すると、ドキュメントの内容や、タイトル、作成日、作成者などのファイルプロパティを検索に使用できます。
コレクションにドキュメントを追加したり、コレクションからドキュメントを削除することができます。これにより、必要に応じて、コレクションの最適化、更新、および管理を行うことができます。
コレクションについて
サーバ管理者がサーバのドキュメントの全部または一部についてインデックスを作成すると、それらのドキュメントに関する情報が 1 つのコレクション内に格納されます。コレクションには、次のような情報が格納されます。詳細は、「コレクションのコンテンツの表示」を参照してください。
コレクションの作成時に、次のように、そのコレクションに収めるファイルのタイプを定義する必要があります。
インデックスの作成時に、この定義によって、インデックスに含める属性や、何らかのファイル変換が必要かどうかが判別されます。
1 つのディレクトリ内にあるすべてのファイルについてインデックスを作成することも、 HTML や PDF などの特定の拡張子を持つファイルについてのみインデックスを作成することもできます。
コレクションには、インデックスを作成した各ドキュメントに関する情報を収めたレコードがあります。コレクションからドキュメントを削除すると、そのドキュメントのコレクションのエントリだけが削除されます。元のドキュメントは削除されません。
複数のサーバインスタンスがある場合、1 つのコレクションは、そのコレクションが作成されたサーバインスタンスにだけ関連付けられます。ユーザは、そのサーバインスタンス内のコレクションだけを検索できます。
コレクションの属性について
表 12-2 に示すように、特定のファイル形式には、そのタイプのファイルについてインデックスを作成する、デフォルトの属性セットがあります。
表 12-2    各ファイル形式についてインデックスが作成される、デフォルトの属性
ファイル書式
属性
タイプ
説明
デフォルトの HTML コレクションでは、 Title 属性と SourceType 属性を保持していますが、HTML の<META> タグを使用することにより、ファイル属性を 30 個まで指定して検索およびソートができるようにインデックスを作成できます。「属性の最大数の調整」で説明されているように、ファイル属性の最大設定数は変更可能です。
たとえば、次のような HTML コードの行をドキュメントに記述できます。
これらの META タグを抽出してドキュメントのインデックスが作成されている場合、writer (執筆者) やproduct (製品) のフィールド内の特定の値を検索できます。たとえば、Writer <contains> Hunter or Song <contains> Blue のような照会によって検索を実行できます。
- <META NAME="Writer" CONTENT="R. Hunter">
- <META NAME="Song" CONTENT="Stella 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 バイト以上の利用可能なディスク容量が必要です。インデックスファイルのサイズを制限する方法については、「インデックスファイルのサイズ制限」を参照してください。
Server Manager にアクセスし、コレクションを作成するサーバをドロップダウンリストから選択します。
- Web サーバに「Create a Collection」ページが表示されます。
- 次のいずれかを選択します。
「Directory to Index」フィールドの現在のドキュメントディレクトリ
サーバのドロップダウンリストに定義されている別のドキュメントディレクトリ
ファイルとサブディレクトリの一覧を表示する場合は「View」
「Documents Matching」フィールドのデフォルトの *.html をそのまま使用するか、独自のワイルドカード式を定義します。
- 追加のドキュメントディレクトリの詳細は、「URL のマッピング」を参照してください。
指定されたディレクトリ内のサブディレクトリをインデックスに含める場合は、「Yes」を選択します。
- 1 つの式に複数のワイルドカードを定義できます。次に例を示します。
- (*.htm|*.html or *(.htm|.html)
- ワイルドカードパターンの構文の詳細は、「ワイルドカードの使用」を参照してください。
注 名前にセミコロン (;) が含まれているファイルのインデックスは作成できません。これらのファイル名は、変更してください。
「Collection Name」フィールドにコレクション名を入力します。
(省略可能) 「Collection Label」フィールドに、コレクションのユーザが定義した名前を入力します。
- コレクション名は、コレクションの保守に使用されます。これは、ファイルの物理ファイル名なので、使用するオペレーティングシステムの名前付け規則に従ったファイル名にしてください。最大で 128 文字まで使用できます。空白文字は下線に変換されます。
注 コレクション名では、アクセント記号付きの文字は使用しないでください。アクセント記号付きの文字を使用する必要がある場合は、コレクション名からはアクセント記号を削除し、ラベルでは使用してください。このラベルは、検索インタフェースでユーザに表示されます。
(省略可能) 「Description」フィールドに、コレクションの説明を入力します (最大 1024 文字)。
- この名前は、ユーザがテキスト検索を実行するときに表示されます。できるだけ、内容がわかりやすい適切なラベル名にします。最大で 128 文字の、一重引用符または二重引用符を除くすべての文字を使用できます。
コレクションに収めるファイルのタイプを選択します。
- この説明は、コレクションの内容のページに表示されます。
インデックス作成時に HTML ファイルから META タグ属性を抽出するかどうかを選択します。
ドロップダウンリストからコレクションの言語を選択します。
- このオプションは、HTML コレクションに対してのみ選択してください。META タグ属性を抽出すると、その値を検索できます。1 つのドキュメントで、最大 30 種類のユーザが定義した META タグのインデックスを作成できます。
「OK」をクリックして新規コレクションを作成します。
- デフォルトは英語 (「English (ISO-8859-1)」) です。文字セットの詳細は、第 16 章「コンテンツ管理」を参照してください。
注 一度コレクションのインデックス作成を開始すると、インデックス作成が完了するか、システムを再起動しない限り、そのプロセスを停止することはできません。サーバをシャットダウンしても、プロセスは終了しません。
コレクションの構成
コレクションを作成した後で、そのコレクションの初期設定の一部を変更できます。それらの設定は、コレクション情報ファイルの dblist.ini にあります。コレクションを再構成すると、dblist.ini ファイルが更新され、変更内容が反映されます。構成ファイルの詳細は、「手動によるファイルの構成」を参照してください。次の設定変更が可能です。コレクションの設定に不必要な変更を加えることは避けてください。
Server Manager にアクセスし、目的のコレクションが存在するサーバインスタンスをドロップダウンリストから選択します。
「Configure Collection」リンクをクリックします。
構成するコレクションを選択します。
- Web サーバに「Configure Collection」ページが表示されます。
オプションの「Description」フィールドの説明 (1024 文字まで)
「URL for Documents」フィールドの URL (URL を変更した場合)
表示するドキュメント内で検索照会の単語またはフレーズを強調表示するときにサーバが使用する、「Highlight begin」フィールドと「Highlight end」フィールド内の HTML タグ。
- たとえば、 publisher/help の URL マッピングを、よりシンプルな /helpFiles に変更するなどです。
入力日付の書式を選択します。
- デフォルトは、<b> タグと </b> タグによる太字での表示ですが、さらにタグを追加したり、別のタグに変更することができます。たとえば、<blink><FONT COLOR = #FF0000> と、それに対応する </blink></FONT> を追加すると、点滅する赤い太字で強調表示できます。
次の項目の検索結果の表示に使用するデフォルトのパターンファイルを定義または変更します。
「Result Pattern File」フィールドで、検索結果のリストから単一のドキュメントを強調表示する際に使用するパターンファイルの名前を入力または変更します。
コレクションの更新
コレクションの作成後に、ファイルの追加または削除が必要になる場合があります。ドキュメントを追加すると、必要な場合はそのファイルの内容のインデックスが作成され、変換されます。ドキュメントを削除する場合は、そのファイルのエントリがメタデータと一緒にコレクションから削除されます。元のドキュメントには影響はなく、コレクションのそのエントリだけが削除されます。
注 コレクションの作成時に「Extract Metatags」オプションを選択した場合は、新しいドキュメントを追加する度に、META タグ HTML 属性のインデックスが作成されます。
Server Manager にアクセスし、目的のコレクションが存在するサーバインスタンスをドロップダウンリストから選択します。
「Update Collection」リンクをクリックします。
更新するコレクションを選択します。
- Web サーバに「Update Collection」ページが表示されます。
「Document Matching」フィールドで、単一のファイル名を入力するか、ワイルドカードを使用して、そのコレクションで追加または削除するファイルのタイプを指定します。
- 現在選択されているコレクションにインデックスエントリがあるドキュメントのリストが表示されます。各リストには 100 レコードづつ表示されます。100 個以上のファイルがあるコレクションの場合は、「Prev」ボタンおよび「Next」ボタンを使用して前後のリストを表示できます。
サブディレクトリを含めるかどうかを選択します。
- *.html などのようにワイルドカードを入力すると、この拡張子を持つファイルだけを更新できます。サブディレクトリ内のファイルを指定する場合は、ファイルのリストに表示されているパス名を入力します。次に例を示します。frenchDocs/*.html
ワイルドカード式の入力には注意が必要です。index.html と入力すると、現在のコレクションのインデックスファイルを追加または削除できますが、*/index.html と入力すると、すべての index.html ファイルがそのコレクション内に追加または削除されます。
「Apply」をクリックします。
コレクションの保守
時には、コレクションを保守したい場合もあります。頻繁にコレクションのインデックス作成や更新を行わない限り、通常の使用法では、これらの保守作業は必要ないこともあります。
コレクションの最適化 - コレクションでドキュメントやディレクトリの追加、削除、または更新を頻繁に行ってコレクションを最適化することにより、パフォーマンスを高めることができます。これは、ハードドライブのデフラグ処理と似ています。最適化は自動的には実行されません。したがって、コレクションのインデックスを再作成または更新した後、手動で最適化する必要があります。コレクションを別のサイトに公開する前や、読み取り専用の CD-ROM に書き込む前に、そのコレクションを最適化した方がよい場合があります。
これらのコレクション管理作業を実行するには、 Server Manager の「Maintain Collection」リンクを使用します。インデックスの再作成 - コレクションのインデックスを再作成できます。コレクションにすでにエントリを持つファイルを探して、その属性および内容のインデックスを再作成することができます。コレクションで最初にファイルのインデックスを作成したときに META タグ属性を抽出するオプションを選択していた場合は、META タグ属性が抽出されます。この場合、*.html などの、元の条件でコレクションを作成し直すのではなく、元の条件に該当する新しいドキュメントを追加します。ソースドキュメントが削除されていて見つからない場合、コレクションのエントリは削除されます。
削除 - コレクションを削除できます。コレクションだけが削除され、元のソースドキュメントは削除されません。
注 コレクションの削除には、ローカルのファイルマネージャを使用しないでください。サーバを再起動する前に検索を実行しようとすると、検索は失敗します。
定期保守のスケジュール設定
定期的なコレクションの保守スケジュールを設定できます。また、最適化とインデックスの再作成の保守スケジュールを個別に設定できます。頻繁にコレクションのインデックス作成や更新を行わない限り、通常の使用法では、これらの保守作業は必要ないこともあります。たとえば、毎日新しいドキュメントが追加されるような非常に変動の多い Web サイトでは、頻繁にインデックスの再作成を行う必要があります。通常、次の作業の組み合わせにより、定期スケジュールを設定します。
コレクションの最適化、インデックス再作成、または更新を行うには、次の手順を実行します。
Server Manager から、「Search」を選択します。
UNIX または Linux では、新しい保守スケジュールの設定を有効にするには、Administration Server から ns-cron プロセスを再起動する必要があります。「Schedule Collection Maintenance」リンクをクリックします。
ドロップダウンリストからコレクションを選択します。
- Web サーバに「Schedule Collection Maintenance」ウィンドウが表示されます。
ドロップダウンリストから、次のいずれかのアクションを選択します。
- このリストには、作成したすべてのコレクションが表示されます。
「Schedule Time」フィールドに、定期保守を実行する時刻を入力します。
- 同じコレクションに対して、異なるアクションによる個別のスケジュールを設定できます。コレクションの更新を選択すると、2 つの追加フィールドが表示されます。1 つは、ドキュメントの一致条件を入力するためのフィールド、もう 1 つは、条件に一致するドキュメントがサブディレクトリで見つかった場合に、そのドキュメントも含めるためのフィールドです。
「Schedule Day(s) of the Week」のセクションで、1 つまたは複数の曜日にチェックマークを付けます。
- 書式 (HH:MM) を使用して入力します。HH は 24 より小さい数、MM は 60 より小さい数である必要があります。時刻は必ず入力します。
「OK」をクリックして保守スケジュールを設定します。
- すべての曜日を選択することもできます。少なくとも 1 つの曜日を選択する必要があります。
ns-cron プロセスを再起動するには、次の手順を実行します。
Administration Server から、「Global Settings」を選択します。
ns-cron がすでにオンになっている場合は、「Restart」をクリックして再起動します。ns-cron がオンになっていない場合は、「Start」をクリックして起動します。
- どちらの場合も、これで、定期保守のスケジュールが自動的に実行されます。
コレクションの保守スケジュールの削除
コレクションの定期保守が不要になった場合は削除できます。コレクションの保守スケジュールの設定を解除するには、次の手順を実行します。
Server Manager から、「Search」を選択します。
UNIX または Linux では、保守スケジュールの削除を有効にするには、ns-cron プロセスを再起動する必要があります。「Remove Scheduled Collection Maintenance」リンクをクリックします。
「Choose Collection」のドロップダウンリストからコレクションを選択します。
- Web サーバに「Remove Scheduled Collection Maintenance」ウィンドウが表示されます。
ドロップダウンリストから、「Reindex」、「Optimize」、「Update」のいずれかのアクションを選択します。
- このリストには、定期保守を設定しているすべてのコレクションが表示されます。
「OK」をクリックしてその保守スケジュールを削除します。
- フレームの下方に、現在保守スケジュールが実行されるように設定されている時刻と曜日が表示されます。
ns-cron プロセスを再起動するには、次の手順を実行します。
Administration Server から、「Global Settings」を選択します。
ns-cron がすでにオンになっている場合は、「Restart」をクリックして再起動します。ns-cron がオンになっていない場合は、「Start」をクリックして起動します。
- どちらの場合も、これで、定期保守スケジュールは実行されなくなります。
検索の実行:基本
ユーザが主に期待するのは、検索コレクション内でデータを照会し、ドキュメントのリストを取得することです。iPlanet Web Server をインストールすると、検索照会と検索結果のデフォルトのフォームセットもインストールされます。これらのフォームにより、ユーザにシンプルな検索方法を提供できます。
照会の作成 - ユーザが検索条件を入力します。
この節では、次の内容について説明します。検索結果の表示 - 条件に一致するドキュメントのリストがサーバにより表示されます。
ドキュメントの表示 - ユーザは、検索結果リストから、強調表示されたドキュメントを表示できます。
コレクションのコンテンツの表示 - ユーザは、各コレクションで維持されている情報を表示できます。
検索ホームページ
検索ホームページ (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)」の矢印をクリックすると、検索結果のページ間を移動できます。
Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。
表示された検索照会ページで、「検索対象 (Search In)」フィールドのドロップダウンリストから、検索するコレクションを選択します。
- http://server_root:port/search
「検索文字列(For)」フィールドに、検索する語句を入力します。演算子を組み合わせることによって、複雑な照会を作成することもできます。検索演算子の詳細は、「照会演算子の使用」を参照してください。
ガイド付き検索 (Guided Search)
Java ベースのガイド付き検索インタフェースを使用することもできます。この機能は、ユーザが照会を作成するのをガイドするものです。これは、いくつかのパーツを含む照会を作成する場合、つまりドキュメントのコンテンツ内の語とともに特定の属性値を検索する場合に、特に有用です。ブラウザで Java が有効になっていることを確認します。有効にするには、「設定」の「詳細」を使用します。
注 「Version Control」と「Link Management」の属性は、iPlanet Web Server では使用されなくなりました。ただし、ガイド付き検索を実行すると、依然として iPlanet Web Server がこれらの属性を返すことがあります。これらの変数は使用しないでください。
ガイド付き検索ページを表示するには、次の 2 つの方法があります。
検索ホームページからガイド付き検索ページにアクセスするには、次の手順を実行します。
Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。
標準検索照会ページからガイド付き検索インタフェースにアクセスするには、次の手順を実行します。
ホームページの「ガイド付き検索 (Guided Search)」リンクをクリックします。
- http://server_root:port/search
Web ブラウザの location (アドレス指定) フィールドに次の URL を入力して、標準検索照会ページを表示します。
標準検索ページの「ガイド付き検索 (Guided Search)」をクリックします。Java ベースのガイド付き照会ページが表示されます。
- http://server_root:port/search
「Search in」フィールドのドロップダウンリストで、検索対象のコレクションを選択します。
「for」ドロップダウンリストで、検索する要素のタイプを選択します。ここでは、「Words」を選択したと仮定して説明を進めます。
「Add Line」をクリックして、照会の最初の条件を追加します。フォーム下部の大きなテキスト表示ボックスに、語句が表示されます。
- 検索演算子の詳細は、「照会演算子の使用」を参照してください。
照会に追加する別の要素を、ドロップダウンリストから選択します。ここでは、「Attribute」を選択したと仮定して説明を進めます。
選択されているコレクションで使用可能なすべての属性を新たに表示したドロップダウンリストから、検索する属性を選択します。
テキスト入力フィールドの上のドロップダウンリストで、照会に適用する照会演算子 (Contains、Starts、Ends、Matches、Has a substring) または論理演算子 (=、<、 >、<=、>=) を選択します。
「Search」ボタンをクリックして検索を実行します。
拡張検索 (Advanced HTML Search)
拡張 HTML 検索インタフェースを使用すると、照会の作成に役立ちます。このインタフェースは、複数のコレクションを検索対象とする照会を作成する場合や、検索結果を特定の属性値によってソートする場合に特に便利です。拡張 HTML 検索ページを表示するには、次の 2 つの方法があります。
検索ホームページから拡張 HTML 検索ページにアクセスするには、次の手順を実行します。
Web ブラウザの location (アドレス指定) フィールドに次の URL を入力します。
標準検索照会ページから拡張 HTML 検索ページにアクセスするには、次の手順を実行します。
ホームページの「拡張検索 (Advanced HTML Search)」リンクをクリックします。
- http://server_root:port/search
Web ブラウザの location (アドレス指定) フィールドに次の URL を入力して、標準検索照会ページを表示します。
ブラウザの「設定」の「詳細」を使用して Java を無効にします。
- http://server_root:port/search
標準検索ページの「ガイド付き検索 (Guided Search)」をクリックします。Web サーバに拡張 HTML 照会ページが表示されます。
「検索文字列 (For)」フィールドに、検索する語句を入力します。
結果をソートする基準となる 1 つまたは複数の属性を入力します。
- 演算子を組み合わせることによって、複雑な照会を作成することもできます。検索演算子の詳細は、「照会演算子の使用」を参照してください。
検索結果ページに表示する各ドキュメントのフィールド数、または一度に表示するフィールド数を指定すると、1 回の検索で返されるドキュメントの数を調整できます。
- デフォルトでは昇順でソートされますが、マイナス記号を使用して降順にソートされるように指定することもできます。ソートの詳細は、「結果のソート」を参照してください。
「検索対象 (Search in)」フィールドのドロップダウンリストで、検索対象のコレクションを選択します。
- 結果が複数のページに表示される場合は、「前ヘ (Prev)」ボタンと「次へ (Next)」ボタンを使用して、前後のページを表示します。
「検索 (Search)」ボタンをクリックして、照会を実行します。
- 複数のコレクションを選択する場合は、Ctrl キーを押しながら別のコレクションをクリックします。ただし、照会対象のコレクションは、すべて同じ言語でなければなりません。
検索プロセスでは、次の各時点で、アクセス権限が確認されます。
検索結果内で強調表示されているドキュメントに対して表示されるアイコンをユーザがクリックするとき。
「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」を含むドキュメントは一致の対象にはなりません。
OR 照会内のコンマで区切られた各語や句は、省略可と見なされます。ただし、少なくとも 1 つは存在しなければなりません。効果の上では、これは暗黙的に OR と同じになります。たとえば「Monterey, otter」と指定すると、「Monerey」または「otter」のいずれかを含むドキュメントが検索されます。OR を山括弧 (< >) で囲む必要はありません。
- 2 つの語が 1 つの句と見なされるかどうかが明確でない場合には、括弧 ( ) を使って句であることを明示することができます。(例、<PHRASE> (rise "and" fall))
検索規則
複雑な検索を作成するには、次のような方法があります。
山括弧 (<>)
AND、OR、NOT、DATE および数値比較演算子を除き、<CONTAINS> や <WILDCARD> のように、照会演算子を山括弧 (<>) で囲む必要があります。
演算子を組み合わせる
1 つの照会内で複数の照会演算子を組み合わせて、より厳密な結果を取得できます。たとえば、次の照会を入力すると、「Bay」と「Monterey」を含み、「Aquarium」を含まないドキュメントを検索できます。
暗黙的な句をいくつか含めることにより、さらに精度を高めることができます。たとえば、次の照会では、「Monterey Bay Aquarium」全体および「otters」を含み、かつ「shark」を含まないドキュメントを検索できます。
- Monterey AND Bay NOT <CONTAINS> Aquarium
- Monterey Bay Aquarium AND otter AND NOT shark
照会演算子を検索語として使用する
照会演算子は、引用符で囲むことにより、検索語として使用できます。たとえば、次の照会を入力すると、「ebb and flow」という語を含むドキュメントを検索できます。
- <CONTAINS> ebb "and" flow
派生語検索の取り消し
暗黙の派生語検索を実行しない場合は、語を引用符で囲みます。次に例を示します。
この照会では、「plan」と完全に一致する単語が含まれるドキュメントだけが検索されます。「plans」や「planning」を含むドキュメントであっても、「plan」そのものが含まれていなければ、無視されます。
- "plan"
演算子の修飾
演算子 AND、OR、および NOT を使用して、他の演算子を修飾することができます。たとえば、タイトルに「theme park」という句を含むドキュメントを検索から除外する場合、次の照会を入力します。
- Title NOT <CONTAINS> theme park
使用する演算子の決定
次の情報を参考にして、使用する演算子を決定してください。特に、照会言語では、大文字と小文字は区別されないことに注意してください。このため、<starts> と <STARTS> は等価になります。このドキュメントで大文字を使用しているのは、分かりやすくするためです。
次の表に、よく使用される演算子の説明と使用例を示します。別途明記されていない限り、検索結果はすべて、相対ランク付けされた順序で表示されます。
ワイルドカードの使用
ワイルドカードを使用すると、特殊な結果を取得できます。たとえば、綴りが似ているが、同じ意味の語幹からの派生ではない語を含むドキュメントも検索できます。たとえば、plan の意味的派生語には plans、planning, が含まれますが、plane や planet は含まれません。ワイルドカードを使用すると、これらの語もすべて検索できます。サポートされているワイルドカード文字は、「*」および「?」のみです。これらの語を指定すると、自動的にワイルドカードベースの検索が行われます。このため、式に <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 のどちらかのパラメータが必要です。ヘッダーまたはフッターとして静的ファイルを指定する場合は、パスのパラメータを使用します。次に例を示します。
CGI プログラムなどのように動的に生成されるファイルをヘッダーまたはフッターとして指定する場合は、URI パラメータを使用します。次に例を示します。
- Service fn="add-headers" path="/export2/docs/header.html"
- Service fn="add-footer" path="/export2/docs/footer.html"
これらの Service 関数は、send-file や send-cgi など、要求に応答する実際の Service 関数の前に置く必要があります。
- uri="/cgi-bin/header.cgi"
HTML パターンファイル
インタフェースのカスタマイズは、まず、既存のパターンファイルを変更することから始めるとよいでしょう。パターン変数とその働きについて理解すれば、独自のパターンファイルを作成し、それらのファイルをポイントするように構成ファイルやほかのパターンファイルを変更することができます。デフォルトでインストールした iPlanet Web Server では、パターンファイルは server_root\plugins\search\ui\text ディレクトリにあります。後で復元できるように、元のパターンファイルのコピーを作成しておくことをお勧めします。email、news、ASCII、PDF、HTML など、各種のコレクション用のパターンファイルがあります。また、汎用タイプのパターンファイルもいくつかあり、それぞれに特定の用途があります。ASCII-record.pat、EMAIL-record.pat などのように、ファイルの接頭辞によって、どのタイプのファイルに使用するパターンファイルであるかがわかります。汎用パターンファイルには、次の種類があります。
NS-query.pat は、標準照会ページおよび拡張照会ページを表示します。検索照会ページ上に Web 検索 (「Web検索 (Search the Web)」ボックス) を呼び出す HTML が記述されています。
パターンファイルには、要素の表示方法を定義する HTML フォーマッティング命令と、表示されるテキストラベルや値を定義する HTML 検索の引数および変数が記述されています。tocstart.pat は、検索結果ページの上部にヘッダーを表示します。
tocrec.pat は、検索結果ページにリストされた各ドキュメントを表示します。
tocend.pat は、検索結果ページの下部にフッターを表示します。
record.pat は、検索結果ページから、強調表示された単一のドキュメントを表示します (詳細は、「強調表示されているドキュメントの閲覧」を参照)。
パターン変数には次の 3 種類があります (詳細は、「パターン変数の使用」 を参照)。
ユーザが定義する変数: userdefs.ini ファイルに定義され、$$ 接頭辞が付きます (「ユーザ定義のパターン変数」 を参照)。
標準照会のパターンファイルである NS-query.pat の次の行は、これらの変数がどのように連携して機能するかを示しています。構成ファイルに定義される変数: dblist.ini ファイルに定義され、$$NS- 接頭辞が付きます (詳細は、「構成ファイルの変数」を参照)。
検索マクロとパターンファイルによって生成される変数: $$NS- 接頭辞が付きます (詳細は、「マクロと生成されるパターン変数」を参照)。
各行には、標準の HTML タグと、$$ 接頭辞または $$NS- 接頭辞が付いた 1 つまたは複数の変数が記述されています。各行についてさらに詳細に調べるためには、「手動によるファイルの構成」で説明されている、構成ファイルを調べる必要があります。
- <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> <input name="NS-query" size=40 value="$$NS-display-query"></td>
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 構文を、一連の検索引数の「名前-値」ペアとともに使用します。基本的な構文を次に示します。
HTML の検索照会ページと検索結果ページを使用する場合は、ブラウザの URL フィールドに、検索関数と引数が表示されます。URL フィールドに直接入力する場合は、修飾 URL と呼ばれることもあります。また、HREF タグを使用してパターンファイルに組み込むこともできます。
- http://server_root/search?name=value[&name=value][&name=value]
パターンファイル内の HREF 要素として、完全な検索関数を作成できます。次の例は、HTML-descriptions.pat ファイルの一部であり、コレクション情報の表示方法が定義されています。この例では、ラベル (「コレクション (Collection) :」) で各コレクションのヘッダーを作成し、dblist.ini ファイルに定義されているコレクションのラベル (NS-collection-alias) により、実際のコレクションファイルへのリンクを提供します。
この例の HREF では、次の各要素を使用して、完全な検索関数を記述しています。
- <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>
$$NS-server-url : ユーザのサーバ URL を特定する検索マクロ。
検索で、条件付きで変数が使用されるように、つまり、変数に対応する値がない場合は何も表示されないように設定することができます。その構文を次に示します。
/search : 検索コマンド。? : 照会文字列インジケータ。? の後の文字列はすべて、検索関数に使用される情報です。
NS-collection=$$NS-collection : $$NS-collection 検索マクロを使用して、コレクションのファイル名を定義します。
たとえば、ドキュメントのタイトルが存在する場合は出力されるように要求できます。このドキュメントにタイトルがない場合は、「Title:」のラベルも表示されないようにすることができます。その場合は、次のように入力します。
- variableName[conditionalized output]
- $$Title[<P>Title:<B>$$Title</B>]
URL エンコーディング
HTML 命令を作成するときは、修飾 URL 内でもパターンファイル内でも、URL エンコーディングの規則に従う必要があります。URL の一部と誤って解釈される可能性のある文字は、%nn の書式でコード化する必要があります。nn は、16 進コードを表します。空白文字は、照会では + (プラス記号) に、出力では %20 に変換されます。次の表は、もっともよく使用される URL コードを示しています。
表 12-6    一般的な URL エンコーディング
文字
説明
コード
必要な検索引数
照会ページと結果ページのほとんどすべての要素をカスタマイズできますが、検索関数で各種の検索ページを表示するために必要な引数がいくつかあります。検索関数を修飾 URL として入力する場合も、HREF としてパターンファイルに組み込む場合も、それらの引数は必要です。検索照会ページを表示する検索関数では、次の引数を必要とします。
検索結果ページを表示する検索関数では、次の引数を必要とします。
強調表示されたドキュメントを表示する検索関数では、次の引数を必要とします。
コレクションの内容を表示する検索関数では、次の引数だけが必要です。
NS-search-page=contents (または、大文字か小文字の c)
パターン変数の使用
パターン変数を使用して、検索テキストインタフェースをカスタマイズできます。この方法では、ユーザの要求が変わっても、実際の HTML ページを更新する必要がありません。たとえば、インタフェースのグラフィックスやテキスト要素を定期的に変更する場合、そのグラフィックスまたはテキストが保守および保存されている場所のパス名をポイントするパターン変数を定義することができます。
userdefs.ini ファイルに定義される変数。修飾 URL およびパターンファイルで使用する場合は、$$ 接頭辞を追加します。たとえば、uidir、logo、および title は、$$uidir、$$logo、および $$title になります。
dblist.ini 構成ファイルに定義される変数。構成ファイル内の定義では NS- 接頭辞を付け、修飾 URL およびパターンファイル内で使用する場合は $$NS- 接頭辞を付けます。たとえば、NS-max-records、NS-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] セクションからの行を次に示します。
このファイルには、$$NS-server-url などの検索マクロへの参照も記述されており、次の各行のように、別のユーザ定義の変数を参照することもできます。
検索マクロの詳細は、「マクロと生成されるパターン変数」を参照してください。
- uidir = $$NS-server-url/search-ui
icondir = $$uidir/icons
変数の定義では、サポートされているすべての HTML 文字エンティティを使用できます。&name; の書式で定義されたエンティティ名および &#nnn; の書式で 3 桁のコードにより定義されたエンティティ名を使用できます。userdefs.ini のコーディング例では、 エンティティで非区切りスペースを挿入し、© エンティティで著作権記号を挿入しています。一般的に使用されるエンティティの一部を次の表に示します。
表 12-7    一般的な HTML 文字エンティティ
数値コード
エンティティ名
説明
構成ファイルの変数
いくつかの変数は、システム構成ファイルおよびコレクション構成ファイルに定義されます。これらの変数は、HTML ページのほかのマークアップタグと区別するために、構成ファイルでは NS- 接頭辞を使用します。これらの変数を検索関数の引数として使用する場合は、$$NS-date-time や $$NS-max-records などのように、変数にさらに $$ 接頭辞を追加します。1 つのサーバ上のすべての検索に対してデフォルトを定義する変数は、システム構成ファイルに定義されます。
各サーバの構成によってインストール内容が異なる場合がありますが、もっとも一般的に使用される変数を次の表に示します。
変数
説明
HTML ドキュメントにユーザ定義のタイトルが設定されていない場合に与えられる名前。通常は (Untitled) に設定します
検索条件に一致するものとして処理できる最大レコード数。レコードは NS-max-records のグループに表示されます
コレクション固有の変数は、dblist.ini ファイルに定義されます。このファイルに定義される変数は次のとおりです。
NS-doc-root = C:/iPlanet/Servers/docs
NS-url-base = /
NS-display-select = YESdblist.ini ファイルに定義される変数は、使用しているコレクションのタイプによって異なります。表 12-9 は、よく使用されるコレクション固有の変数のいくつかを示しています。
表 12-9    dblist.ini でよく使用される変数
変数
説明
NS-search-page=contents の場合に、そのコレクションをコレクション情報リストの一部として表示するかどうかを指定します。デフォルトは YES です
マクロと生成されるパターン変数
パターンファイルまたは修飾 URL 内で使用できる検索マクロがいくつかあります。検索関数自体によって生成されるパターン変数がいくつかあり、後続の検索要求でその変数を使用して出力の表示方法を定義できます。それらのマクロおよび変数には、その用途を示す $$NS- 接頭辞が付きます。たとえば、最初の検索照会を実行して 24 個のドキュメントが結果ページに表示された後、検索によって生成された $$NS-docs-matched 変数と $$NS-doc-number 変数を、ドキュメントの 1 つを詳細に表示するドキュメントページの定義に再利用できます。この方法により、このドキュメントは最初の検索で返された 24 ドキュメントのうちの 3 番目のドキュメントであることをユーザに知らせることができます。
次の表は、後続のパターンファイルまたは修飾 URL 内で使用できる検索マクロと生成される変数を示しています。
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
Last Updated October 17, 2001