検索サーバーはデータベースにリソース記述を格納します。検索データベースはドキュメントコレクションのインデックスです。これらは、インデクサ (コマンド rdmgr、または検索サーバー自体) によって作成されます。たとえばデフォルトでは、Web サイトとロボットインデックスを巡回し、見つけ出したものをユーザーがデータを検索できるデフォルトの検索データベースにすべて格納するようにロボットをセットアップできます。データやインデックスはほかのデータベースに格納されます。
データベース管理のために行う必要のある設定作業およびメンテナンス作業は次のとおりです。
通常、検索データベースの項目はロボットから取得します。また、ほかの Portal Server 検索エンジン、iPlanet Web Server や NetscapeTM Enterprise Server、または別のソースから生成したデータベースから既存の項目のデータベースをインポートすることもできます。ロボットを使用して新規に作成する代わりに RD の既存データベースをインポートすると、ネットワークトラフィックが減少します。また、大量のインデックス作成作業を分割できるので、より高速にインデックスを作成できます。中央データベースがインデックスを作成するサーバーから物理的に遠くにある場合には、RD をローカルに生成して、中央データベースに各地点のリモートデータベースを定期的にインポートすると便利です。
検索サーバーは、インポートエージェントを使用して、別のサーバーやデータベースから RD をインポートします。「インポートエージェント」は、外部ソースから RD を検出して、ローカルデータベースに情報をマージするプロセスです。
データベースをインポートする前に、インポートエージェントを作成する必要があります。エージェントを作成したら、すぐにインポートプロセスを開始することも、インポートプロセスが定期的に実行されるようにスケジュールを設定することもできます。
「スキーマ」は、検索サーバーで管理するリソースごとの情報とその形式を決定します。スキーマの設計によって、インデックスのユーザビリティーに影響する次の 2 つの要因が決まります。
ユーザーがリソースを検索する方法
ユーザーがリソース情報を表示する方法
スキーマはデータベースのリソース記述のマスタデータ構造です。データ構造フィールドのインデックス作成方法と定義方法によって、リソースへのアクセス頻度が変わります。
スキーマは、検索サーバーとそのロボットが使用するファイルの構造に密接に結びついています。管理コンソールでスキーマツールを使用して、データ構造だけを変更してください。スキーマファイルは直接編集しないでください。
検索サーバーのデータベーススキーマを編集すると、新規のスキーマ属性の追加、スキーマ属性の変更、あるいは属性の削除ができます。
スキーマには次の属性があります。
編集可能: オンの場合、この属性はリソース記述エディタに表示される属性を示すので、ユーザーは値を変更できます。
インデックス作成可能: この属性はユーザーがこのフィールド内の値を検索できることを示します。インデックス作成可能フィールドは、「詳細検索」画面のポップアップメニューに表示されることもあります。
説明: この属性はスキーマの記述に使用するテキスト文字列です。コメントや注釈に使用します。
エイリアス: この属性は、インポートしたデータベーススキーマ名をユーザー独自のスキーマに変換するためのエイリアスを定義します。
乗数のスコア: 特定の要素をスコアリングする重み付けフィールドです。有効値は正の数です。
データタイプ: データタイプを定義します。
データベーススキーマのフィールド名が互いに矛盾していることがあります。あるサーバーから別のサーバーにリソース記述をインポートするとき、2 つのサーバーのスキーマの項目名が同一であることを、常に保証することはできません。同様に、ロボットが HTML <meta> タグをドキュメントからスキーマフィールドに変換するときは、名前はドキュメントによって制御されます。
検索サーバーは、ユーザーのスキーマ属性にスキーマのエイリアスを定義して、外部スキーマ名をデータベースのフィールドに有効な名前にマッピングできるようにします。
検索サーバーのレポートには、インデックスを作成したサイトの数、およびデータベースの各サイトのリソースの数などの情報が含まれます。
スキーマを編集してインデックスフィールドを追加または削除する場合、またはディスクエラーによってインデックスファイルが破損した場合は、検索サーバーが使用するリソース記述データベースのインデックスを再作成する必要があります。また、別の何らかの理由でデータベースのコンテンツとインデックスの間に矛盾が発生すると、再作成が必要となることがあります。たとえば、インデックス作成中にシステム障害が発生した場合です。
大規模なデータベースのインデックスを再作成するのに、数時間を要する場合があります。データベースのインデックスの再作成に要する時間は、データベースに含まれるレコードの数に応じて変わります。大規模なデータベースでは、サーバーの負荷が低い時にインデックスの再作成を行うようにしてください。
データベースを「期限切れ」にすると、古くなったリソース記述も削除されます。リソース記述が削除されるのは、期限切れを実行したとき「だけ」です。期限切れのリソース記述が削除されても、データベースのサイズは減少しません。
リソース記述の属性の 1 つに有効期限があります。ロボットは HTML <meta> タグ、またはリソースのサーバーが提供する情報を基に有効期限を設定します。リソースが有効期限を指定しないかぎり、リソース記述はデフォルトで作成から 3 か月有効です。検索サーバーで検索データベースから期限切れのリソース記述を定期的に破棄するようにしてください。
破棄を実行すると、データベースの中身を削除できます。これによって、インデックス用のディスク領域は回復しますが、メインデータベースのディスク領域は回復できません。これは、この領域が新規のデータをデータベースに追加したときに再利用されるためです。
検索サーバーを使用すれば、複数のディスク、ファイルシステム、ディレクトリ、またはパーティションにまたがる検索データベースを構成する物理ファイルを配置できます。異なる物理デバイス、または論理デバイスにデータベースを拡張することで、単一のデバイスに使用するよりも大きなデータベースを作成することができます。
デフォルトでは、検索サーバーは 1 つのディレクトリだけを使用するデータベースを設定します。コマンド行インタフェースを使用すると、データベースパーティションに次の 2 種類の操作を実行できます。
新しいパーティションの追加
パーティションの移動
検索サーバーは、各パーティションに空き領域があるかどうかを確認しません。データベースに適切な空き領域を確保するのは、ユーザーの作業です。
データベースのパーティションは、合計で最大 15 個追加できます。
一度パーティションの数を増やすと、あとでパーティションの数を減らすには、データベース全体を削除する必要があるので注意してください。
ただし、ディスク容量が十分にある場合に限り、パーティションの作成はお勧めしません。
データベースパーティションの物理的な場所を変更するには、新しい場所の名前を指定します。同様に、既存のパーティションの名前も変更できます。パーティションを操作するには rdmgr コマンドを使用します。psadmin コマンドの詳細については、『Sun Java System Portal Server 7.2 Command Line Reference』を参照してください。