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