Searchアプリと同じクエリ言語を使用してクエリ文字列をフォーマットしてください。
フィルタークエリの制限
カスタムフィルタークエリはSearchアプリのクエリと同じクエリ言語を使用しますが、カスタムフィルタークエリにはいくつかの追加の制限があります:
-
すべてのクエリには、少なくとも1つのフィールド名と値のペアが含まれている必要があります。例えば、
endpointHostName:endpoint-123
-
クエリ文字列には、少なくとも1つの定義された値が含まれている必要があります。少なくとも1つの値が定義されている場合、複合クエリでアスタリスクワイルドカード (*) を使用できます。(例:
endpointHostName:endpoint-123 AND fileName:*
)
Searchアプリのクエリ構文とカスタムフィルターでの正規表現の詳細については、検索構文およびカスタムフィルタでの正規表現の使用を参照してください。
フィルタークエリ形式のヒント
クエリのパフォーマンスを向上させ、長時間の実行を避けるために、次の点を考慮してください
-
クエリ文字列の先頭に簡単な検索条件を入れてください。
-
データ量が多いフィールド(例えば、[objectRawDataStr] や [rawDataStr])は、クエリ文字列の最後に配置してください。
-
ワイルドカードを多用したり、クエリ文字列の末尾にワイルドカードを置いたりしないでください。
-
1つまたは2つの戦術、技術、および手順のみをフィルターごとに使用してください。
-
フィルターではできるだけ少ないオペレーターを使用してください。
-
[eventSubId]をフィルター条件の先頭に置いて、データセットを迅速に絞り込みます。
-
フィルタリングを簡素化し、複雑さを軽減するために、[processCmd]の代わりに[processName]を使用してください。
-
単純なサブセットパターンを複雑なパターン(例えば、複雑な正規表現や中間ワイルドカード)の前に置いてください。例:
objectRawDataStr:'*(abcd -UseBasicParsing)*' AND (objectRawDataStr: '* abcd *' OR objectRawDataStr: '* efgh *')
の場合、最も長いプレーンなサブストリングを抽出します。それはobjectRawDataStr: '*-UseBasicParsing*'
です。その後、別のフィルターを追加して、最初にobjectRawDataStr: '*-UseBasicParsing*'
をチェックします。 -
部分一致ではなく、正確な値で完全一致を使用してください。例えば、
objectFileHashMd5: "d41d8cd98f00b204e9800998ecf8427e"
objectFileHashMd5: "d41d8cd98f00b204e9800998ecf8427e"。