このトピックでは、フレーズ検索機能の構文と制限について説明します。 このトピックでは、機能の使用方法の例も提供します。
概要
Simple Log Serviceは、ログのクエリに単語分割を実装します。 たとえば、検索文abc def
は、abc
またはdef
を含むログを返します。 返されたログはランダムな順序でソートされ、完全なフレーズを正確に一致させることはできません。 そのため、Simple Log Serviceでは、指定したフレーズをログに正確に一致させるフレーズ検索機能が導入されています。
Simple Log Serviceがフレーズを含むログを照会するリクエストを受信すると、Simple Log Serviceは次の手順を実行します。
フレーズ検索文に対応する非フレーズ検索文を実行して、ログを照会します。 たとえば、フレーズ検索ステートメントが
#"abc def"
の場合、Simple Log Serviceは最初に"abc def"
ステートメントを実行します。説明フレーズ検索機能では、ステップ1で最大10,000個のログを返すことができます。 これにより、Simple Log Serviceが短時間で過剰なデータを処理できなくなります。
上記の結果からフレーズ検索条件に一致するログを照会し、最終結果を返します。
構文
フィールド固有の検索
key:#"abc def"
全文検索
#"abc def"
制限事項
フレーズ検索の結果は、順方向または逆方向の連続的なページめくりをサポートする。 ランダムリダイレクトはサポートされていません。
フレーズ検索が実行された後、ログ分布ヒストグラムは、非フレーズ検索の結果を示す。
あいまい一致は、フレーズ検索ではサポートされていません。
フレーズ検索文では、ログと照合するフレーズを二重引用符 (") で囲む必要があります。
NOT演算子は、フレーズ検索文ではサポートされません。 たとえば、not #"abc def" は無効です。
フレーズ検索ステートメントは、分析ステートメントと一緒に使用することはできません。 たとえば、
#"abc" | select ***
は無効です。 フレーズ検索を実行する場合、クイック分析機能はサポートされません。
ページめくり
ページめくりを実行すると、Simple Log Serviceはフレーズ検索を実行して、クエリ結果の連続性を確保します。
フレーズ検索の場合、Simple Log Serviceは一度に最大10,000個のログを処理できます。 ページに表示されるログの数は、[1ページあたりの項目] で指定されている数より少ない場合があります。 ただし、1ページ前に進むことはできます。 この場合、処理される10,000ログのうち、語句検索条件を満たすログの数は、Items /ページで指定された数より少なくなります。
たとえば、ログの総数は20,000であり、1ページあたりのアイテムで指定される数は100です。 フレーズ検索が完了すると、89のログのみが返され、1ページ前に移動できます。 この場合、処理された最初の10,000ログのうち、89ログのみがフレーズ検索条件を満たす。 ページめくりを実行できます。 その後、Simple Log Serviceは、残りの10,000ログに対して2回目のフレーズ検索を自動的に実行し、フレーズ検索条件を満たすログを返します。
例
redo_index/1
を含むログを照会します。
フレーズ以外の検索文
"redo_index/1"
を使用する場合、Simple Log Serviceはフルテキストインデックスに基づいて、指定されたキーワードを含むログを検索します。フレーズ検索ステートメント
#"redo_index/1"
を使用すると、Simple Log Serviceは完全なフレーズredo_index/1
を含むログを検索します。