ほとんどのロボットアプリケーション関数 (RAF) は情報のソースを必要とし、デスティネーションに送信するデータを生成します。ソースはロボット内で定義され、最終的に生成されるリソース記述のフィールドに関連している必要はありません。一方、デスティネーションは通常、リソース記述サーバーのスキーマによって定義されるリソース記述のフィールド名になります。
次の節では、フィルタリングプロセスの各段階と、それらの段階で使用できるソースについて説明します。
セットアップ段階では、フィルタが設定されますが、リソースの URL またはコンテンツについての情報は取得できません。
メタデータ段階ではロボットはリソースの URL を検出しますが、リソースのコンテンツはダウンロードしていません。このため、filter.conf ファイルなどのほかのソースから派生するデータと、URL についての情報が使用可能です。ただし、この段階では、リソースのコンテンツについての情報は使用できません。
表 19–2 メタデータ段階で RAF で使用できるソース
ソース |
説明 |
例 |
---|---|---|
csid |
カタログサーバー ID |
x-catalog//budgie.siroe.com:8086/alexandria |
depth |
開始点からトラバースされたリンク数 |
10 |
enumeration filter |
列挙フィルタの名前 |
enumeration1 |
generation filter |
生成フィルタの名前 |
generation1 |
host |
URL のホスト部分 |
home.siroe.com |
IP |
ホストの数値バージョン |
198.95.249.6 |
protocol |
URL のアクセス部分 |
http、https、ftp、file |
path |
URL のパス部分 |
/、/index.html、/documents/listing.html |
URL |
完全な URL |
http://developer.siroe.com/docs/manuals/ |
データ段階では、ロボットがその URL のリソースのコンテンツをダウンロードしているので、記述、作成者などのコンテンツに関するデータにアクセスできます。
リソースが HTML ファイルである場合、ロボットは HTML ヘッダーの <META> タグをパースします。したがって、<META> タグに含まれるデータは、データ段階で使用可能です。
データ段階では、メタデータ段階で使用可能なソースのほかに、次のソースを RAF で使用できます。
表 19–3 データ段階で RAF で使用できるソース
ソース |
説明 |
例 |
---|---|---|
content-charset |
リソースが使用する文字セット | |
content-encoding |
エンコードの形式 | |
content-length |
リソースのバイト単位のサイズ | |
content-type |
リソースの MIME タイプ |
text/html、image/jpeg |
expires |
リソースが期限切れになる日付 | |
last-modified |
リソースの最終更新日 | |
<META> タグ内のデータ |
HTML リソースのヘッダーの <META> タグで提供されるデータ |
作成者、記述、キーワード |
<META> タグのデータを除くこれらのすべてのソースは、リソースの取得時に返される HTTP 応答ヘッダーから派生されます。
列挙および生成の段階では、データ段階と同じデータソースが使用可能です。詳細については、表 19–3を参照してください。
シャットダウン段階では、フィルタはフィルタリングを完了し、シャットダウンします。この段階用に書き込まれた関数は、データ段階で使用可能なソースと同じデータソースを使用できますが、シャットダウン関数の動作は通常、ロボットの終了およびクリーンアップに制限されます。
各関数には enable プロパティーがあります。値には、true、false、on、または off を指定できます。管理コンソールは、これらのパラメータを使用して特定のディレクティブを有効または無効にします。
次の例は text/html の列挙を有効にし、text/plain の列挙を無効にします。
# Perform the enumeration on HTML only Enumerate enable=true fn=enumerate-urls max=1024 type=text/html Enumerate enable=false fn=enumerate-urls-from-text max=1024 type=text/plain |
enable=false プロパティーまたは enable=off プロパティーの追加は、行をコメントアウトするのと同じ効果があります。管理コンソールは、コメントを書き込まないため、これらのプロパティーが使用されます。