見出し画像

ログ分析ツールの検索文の書き方

自分でも忘れるのでログ分析ツールのヘルプで表示するための
記事です。入力する検索文の横のヘルプボタンから、この記事を表示できるようにします。
2023/1/14に検索文のモードを追加したので追記します。

検索文のモード切り替え

検索の詳細設定を開くと検索文モードの切り替えメニューがあります。
ここで切り替えます。

シンプルモード

シンプルモードは、以下のルールだけです。

  • キーワードをスペースで区切るとAND条件

  • キーワードの最初に!を付けるとNOT条件

  • キーワードの最後に* を付けるとプリフィックス(ワイルドカード)

例えば、

test !mode sta*

とすると、

testを含み、modeを含まない、staで始まる単語を含む

という条件になります。
現状単語の区切りの関係か_や:が入る単語はワイルドカードでヒットしません。

正規表現モード

検索文に入力した内容を正規表現として検索します。
ただし、それほど思ったような検索結果になりません。
今後改善するか、削除すると思います。

全文検索モード

今ままでと同じBlugeの検索文のモードです。以下のような仕様です。

単語(Term)

他の構文がない単語は単純に検索対象の単語です。一致する単語を含むドキュメント(ログ)を検索します。
例えば、

water

は、単語waterを含むドキュメントを検索します。
検索の範囲は、ドキュメントの全体の_allです。

フレーズ

ダブルクオートで括った単語の列はフレーズとして検索します。
例えば

"light beer"

はフレーズとして検索します。

フィールド指定

フィールド名と検索条件をコロンで区切って指定することで検索する範囲を限定できます。
例えば、

description:water

と指定するとdescriptionというフィールドがwaterのドキュメント(ログ)を検索できます。

ワイルドカード

単語の一部に一致するような検索に使います。

mart*

のようにするとmartから始まる単語に一致するドキュメント(ログ)を検索できます。これは、フィールド指定でもつかます。

正規表現

検索文に正規表現を使うことができます。
正規表現のパターンを/で括ればよいです。
例えば、

/light (beer|wine)/

のように指定します。
フィールドを指定する場合は、

description:/wat.*/

必須、オプション、含まない

検索文の先頭に何もつけない状態だとオプション条件になります。
+を先頭につけると必須条件になります。-をつけると含まないことが検索条件になります。
例えば

+description:water -light beer

は、descriptionフィールドにwaterが必須で、全体にlightを含まない、beerは含んでもよいという検索文になる。

優先順位指定

検索条件の優先順位をつけることができます。
検索条件の最後に^ と数値を指定指定します。
例えば、

description:water name:water^5 

のようにするとnameフィールドにwaterが含まれてるほうをスコアが高いです。

あいまい度の指定

検索のあいまい度を指定できます。現時点で使い方はわかりません。

watex~
watex~2

のように~と数値で指定します。

数値範囲

>, >=, <,  <=の記号でフィールドの数値範囲を指定して検索できます。
例えば

abv:>10

のように指定すれば、adv(アルコール度数)が10より大きいという条件になります。

日時範囲

>, >=, <,  <=の記号でフィールドの数値範囲を指定して検索できます。
例えば

created:>"2016-09-21"

のように指定すれば、createdのフィールドが2016年9月21日より大きい問い条件になります。

エスケープ文字列

以下の文字を検索する場合はエスケープが必要です。

"+-=&|><!(){}[]^\"~*?:\\/ "

例えば

my\ name
"contains a\" character"

です。スペースや"を検索文字に含めることができます。

元の情報

と、テストプログラムの

です。

時間範囲の指定

検索文とは別に、GUIで指定します。

範囲

開始と終了の日時を分単位で指定できます。

ターゲット

指定の日時から指定の秒数範囲内にあるログを検索します。

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。