フィルタリングルール

フィルタリングルールは、フィードユーティリティが元のフィードファイルのフィルタリングに使用する基準です。

フィルタリングルールは、Filters 要素でフィードごとに指定します。各フィルタリングルールは Field 要素で設定します:フィールド名は name 要素で、フィルタリング基準は value 属性で指定します。フィールドには、そのフィールドに関連したフィルタリングルールを 1 つだけ指定できます。2 つの Field パラメータを 1 つのフィールドに指定することはできません。

メールタイプのフィードは、メールの件名とメールの送信者によってフィルタリングされます。下の「メールタイプのフィードのフィルタリング」セクションを参照してください。

次に、フィードのフィルタリングルールの例を示します。これらのルールでは、4 または 5 に相当する popularity フィールド、および .ru または .com を含んだ mask フィールドのあるレコードしか出力フィードに含められないことを指定します。

<Feed>

...

<Filters>

<Field name="popularity" value="4;5"/>

<Field name="mask" value=".ru;.com"/>

</Filters>

...

<Feed>

フィードユーティリティは、「value」属性の先頭または末尾のスペース記号、またはタブ記号を無視します。

出力ファイルには、指定したすべての基準に一致するレコードのみが含まれています。フィールドのフィルタリング基準が指定されていても、そのフィールドがレコードにない場合、フィードユーティリティはこのレコードを出力ファイルに含めません。

数値のフィルタリング基準の定義

数値は整数です。10 進値はサポート対象外です。

数値フィールドのフィルタリング基準を次のように定義できます:

文字列のフィルタリング基準の定義

文字列フィールドのフィルタリング基準を次のように定義できます:

日付のフィルタリング基準の定義

フィードの日付値はパターン「DD.MM.YYYY」(例:「26.04.2014」)、パターン「YYYY-MM-DD」(例:「2014-04-26」)、またはパターン「MM/DD/YYYY」(例:「04/26/2014」)のいずれかでフォーマットします。

日付のフィールドのフィルタリング基準を次のように定義できます:

フィールドのないレコードの除外

元のフィードファイルには、余分なフィールドがあることや、一部のフィールドがないことがあります。余分なフィールドがあるレコードの場合、フィードユーティリティは、指定のフィードのフィードルールRequiredFields 要素で指定されたフィールドのみを含めます。一部のフィールドがないレコードの場合、フィードユーティリティは、RequiredFields 要素で指定されたフィールドが 1 つ以上あれば、そのようなレコードを出力に含めます。RequiredFields 要素で指定された一部のフィールドが元のフィードのレコードにない場合、処理済みのフィードのレコードにそれらのフィールドは含まれません。

フィールドが欠落しているレコードを出力から除外する場合は、すべての必須フィールドでフィルタリングルールを作成する必要があります。

次の例のフィードユーティリティは、popularity フィールドか mask フィールド、または popularity フィールドと mask フィールドの両方があるレコードを含めます。

<RequiredFields>popularity;mask</RequiredFields>

popularitymask の両方があるレコードのみを含める場合は、両方のフィールドのフィルタリングルールを作成します。フィールド値の基準を指定することも、アスタリスク(*)を使用して任意の値を指定することもできます。

次の例では、両方のフィールド(maskpopularity)があるレコードのみが、生成されるフィードに含まれます。

<Filters>

<Field name="popularity" value="*"/>

<Field name="mask" value="*"/>

</Filters>

<RequiredFields>popularity;mask</RequiredFields>

厳密な基準を同じように指定することができます。次の例では、5 の値を持つ popularity フィールドと任意の値を持つ mask フィールドのみを含めるようにフィードユーティリティに指示しています。

<Filters>

<Field name="popularity" value="5"/>

<Field name="mask" value="*"/>

</Filters>

<RequiredFields>popularity;mask</RequiredFields>

メールタイプのフィードのフィルタリング

設定情報ファイル kl_feed_util の[MailboxConnection/Filters]要素でフィルタリングルールを 1 つ以上指定します。この要素は任意です。

フィルタリングルール 1 つ以上を追加する場合は、[MailboxConnection/Filters/Filter]要素で次の属性を指定します:

次に、メールタイプのフィードのフィルタリングルールの例を示します:

<Filters>

<Filter field="from" condition="not_match">techsupport@ya.ru</Filter>

<Filter field="subject" condition="contains">Best IoCs ever</Filter>

</Filters>

ページのトップに戻る