演算子を含む
大/小文字を区別しないストリングを含むデータのレコード・セットをフィルタリングします。 contains は、3 文字以上の 用語 ではなく文字を検索します。 照会では、列の値がスキャンされます。これは、用語索引で用語を検索するよりも時間がかかります。
以下の表に、 contains 演算子の比較を示します。
| オペレーター | 説明 | 大文字と小文字を区別する | 例 ( trueが生成されます) |
|---|---|---|---|
contains |
RHS は、LHS のサブシーケンスとして発生します。 | いいえ | "Success Audit" contains "audit" |
!contains |
LHS で RHS が発生しない | いいえ | "Success Audit" !contains "auditing" |
contains_cs |
RHS は、LHS のサブシーケンスとして発生します。 | はい | "Success Audit" contains_cs "Audit" |
!contains_cs |
LHS で RHS が発生しない | はい | "Success Audit !contains_cs "auD" |
上記の表では、以下の省略形が使用されています。
- RHS = 式の右側。
- LHS = 式の左側。
その他の演算子について、および照会に最も適した演算子を判別する方法について詳しくは、 データ・タイプ・ストリング演算子を参照してください。
大/小文字を区別しない演算子は、現在 ASCII テキストでのみサポートされています。 非 ASCII 比較の場合は、 tolower () 関数を使用します。
パフォーマンスのヒント
パフォーマンスは、検索のタイプとデータの構造によって異なります。
パフォーマンスを向上させるには、オペレーターの大/小文字を区別するバージョン (例えば、 containsではなく contains_cs) を試してください。
フィールドの先頭または末尾に非英数字文字でバインドされたシンボルまたは英数字ワードの存在をテストする場合は、パフォーマンスを向上させるために、 has または inを試してください。 また、 has は contains、 startswith、または endswithよりも速く動作しますが、正確ではなく、不要なレコードを提供する可能性があります。
構文
T | where col contains (式)
引数
- T -レコードがフィルタリングされる表形式の入力。
- col -フィルタリングする列。
- expression -スカラーまたはリテラル式。
返品
述部が trueである T 内の行。
例
events
| project original_time, data_source_name, name, user_id
//--- Search for the last 5 mins of data
| where original_time > now(-5m)
// Look for events with sucessful audit
| where name contains "success audit"
| take 2
結果
| 元の時刻 | データ・ソース名 | 名前 |
|---|---|---|
| 2023-04-13T13:59:29.732Z | microsoftWindowsSource2 | 成功した監査: ドメイン・コントローラーがアカウントの資格情報を検証しました |
| 22023-04-13T13:59:30.900Z | microsoftWindowsSource4 | 成功した監査: アカウントは正常にログオンしました |