メインコンテンツまでスキップ
Sumo Logic Japanese

where

where operator は、ブール フィールドが true または false かによってフィルタリングを実行します。たとえば、「valid」というブール フィールドを使用して:

  • true を保持するフィルタ: | where valid
  • false を保持するフィルタ: | where !valid

検索クエリの結果を絞り込むには、"where" を conditional operator として使用します。where operator は、パイプ記号 ("|") で区切り、他の operator とは別個に配置する必要があります。つまり、以下の構成では機能せず、構文エラーが発生します。

次のクエリは機能しません。

...| parse "seconds=*;" as time where > 5

次のように、where operator を先行する parse operator から隔離します。

...| parse "seconds=*;" as time 
| where time > 5

構文

  • ... | where <boolean expression> | ...

ルール

  • where operator を個別のクエリ operator として隔離するには、パイプ区切り文字が必要です。
  • where operator を「... | extract a where b==something |...」のようにクエリ句の内部で使用することはできません
  • 複数の where operator は指定順に処理され、後続の where operator によってそれまでの処理結果がさらにフィルタリングされます。
  • ブール式では、OR や AND のようなキーワード式を使用できます。
  • 整数と一致させるために in や not in を使用する場合は、事前に「x」を数値にキャストしてください。
  • ブール式では、matches operator を使用できます。re2 準拠の正規表現やアスタリスク * をワイルドカードとして使用できます。
  • ブール式では、ブール値を返すすべての operator を使用できます。例: compareCIDRPrefixcontainsinisBlankisEmptyisNullisNumericisPrivateIPisPublicIPisValidIP、および各種数式

  • ... | where a<b 
  • ... | where a=x
  • ... | where a>=x
  • ... | where a<=x
  • ... | where a<x
  • ... | where x<10
  • ... | where (x >=10 and x <=20)
  • ... | where x="some string"
  • ... | where error="fail*"
  • ... | where user<>"root"
  • ... | where x matches "some string"
  • ... | where x matches "fail*"
  • ... | where x matches /regex/
  • ... | where !(x matches /regex/)
  • ... | num(x) | where x in (4, 3, 5) 
  • ... | where x in ("error", "fail")
  • ... | where x not in ("error", "fail")
  • ... | where x matches "Android" or x matches "iPhone" or x matches "iPad"

not オプションの使用

where operator を使用したクエリで「xxx が yyy と一致しない」と指定するには、「!」と matches operator を括弧で囲んで指定します。

例:

...| where !(<field xxx> matches "<value yyy>") | ...

または:

...| where !(status matches "200")

where を使用した null 値のチェック

詳細については、isNull operator を参照してください。

  • この記事は役に立ちましたか?