すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:インデックスの作成

最終更新日:May 30, 2026

Logstore に収集されたログをクエリおよび分析するには、インデックスを作成する必要があります。このトピックでは、Simple Log Service のインデックスに関する基本概念と種類について説明し、インデックスの作成・更新・無効化方法を紹介します。また、構成例や課金情報も提供します。

インデックスを作成する理由

通常、生ログからコンテンツを取得する際はキーワードを使用します。たとえば、エントリ curl/7.74.0 内に含まれる curl を含むログを検索する場合などが該当します。ログエントリが解析されていない場合、そのエントリは単一の単位として扱われ、キーワード curl と完全に一致しないため、Simple Log Service では検索できません。

ログを検索可能にするには、ログを個別の検索可能な語(term)に分割する必要があります。ログはデリミタを使用して分割されます。これらの文字により、ログテキストの分割位置が決定されます。たとえば、デリミタとして \n\t\r,;[]{}()&^*#@~=<>/\?:'" を使用してログを分割すると、結果として curl および 7.74.0 という語が得られます。Simple Log Service は抽出された語に基づいてインデックスを構築します。インデックスを作成した後でのみ、ログのクエリおよび分析が可能になります。

Simple Log Service は、フルテキストインデックスとフィールドインデックスの両方をサポートしています。同じ Logstore に対して両方を構成した場合、フィールドインデックスの構成が優先されます。

インデックスの種類

フルテキストインデックス

フルテキストインデックスは、トークン を使用して、ログ全体を複数の text 型の語に直接分割します。フルテキストインデックスを作成すると、キーワードを使用してログをクエリできます。たとえば、クエリ文 Chrome or Safari は、Chrome または Safari を含むログを検索します。

重要
  • トークン は中国語の文字を分割できません。中国語テキストを処理するには、中国語を含む オプションを有効にしてください。これにより、Log Service は中国語の文法に基づいて自動的にトークン化を行います。

  • フルテキストインデックスのみを構成した場合、フルテキスト検索構文を使用できます。詳細については、「クエリ構文と関数」をご参照ください。

フィールドインデックス

フィールドインデックスは、フィールド名 (KEY) に基づいてログを分離し、その後デリミタを使用してフィールド内のコンテンツを分割します。フィールドインデックスは、textlongdoubleJSON の 4 種類のデータ型をサポートしています。詳細については、「データの型」をご参照ください。フィールドインデックスを作成すると、フィールド名とフィールド値 (Key:Value) を指定するか、SELECT 文を使用してデータをクエリできます。詳細については、「クエリ構文と機能」をご参照ください。

重要
  • SELECT 文を使用して特定のフィールドをクエリまたは分析するには、そのフィールドに対してフィールドインデックスを作成する必要があります。フィールドインデックスはフルテキストインデックスより優先度が高くなります。両方がフィールドに対して構成されている場合、フィールドインデックスの設定が優先されます。

  • text データ型のフィールドでは、フルテキストクエリ、フィールド固有のクエリ、分析文 (SELECT) を使用できます。

    • フルテキストインデックスを有効にしない場合、フルテキストクエリは text 型のすべてのフィールドに対してのみ検索を行います。

    • フルテキストインデックスを有効にした場合、フルテキストクエリはすべてのログに対して検索を行います。

  • long および double データ型のフィールドでは、フィールド固有のクエリおよび分析文 (SELECT) を使用してデータをクエリおよび分析できます。

インデックスの作成

重要
  • インデックスの構成内容によって、クエリおよび分析結果が異なります。要件に基づいて慎重にインデックスを構成してください。新しいインデックスが有効になるまでに約 1 分かかります。

  • インデックスは新しく取り込まれたデータにのみ適用されます。既存データをクエリするには、インデックスの再作成 を実行する必要があります。

  • Log Service は一部の予約済みフィールドに対して自動的にインデックスを作成します。詳細については、「予約済みフィールド」をご参照ください。

    __topic__ および __source__ のインデックスデリミタは空であるため、これらのフィールドをクエリする際はキーワードが完全に一致している必要があります。

  • __tag__ で始まるフィールドはフルテキストインデックスをサポートしません。*| select "__tag__:__receive_time__" のような検索および分析操作を実行するには、text 型のフィールドインデックスを作成する必要があります。

  • ログに同じ名前のフィールドが複数含まれている場合(例:request_time)、Log Service はコンソール上ではそのうちの 1 つを request_time_0 として表示します。ただし、基盤となるフィールド名は request_time のままです。そのため、インデックスの作成、クエリ、分析、転送、変換を行う際は、元のフィールド名 request_time を使用する必要があります。

コンソール

  1. Simple Log Service コンソール にログインします。

  2. [Projects] セクションで、目的のプロジェクトをクリックします。

  3. ログストレージ > Logstores タブで、目的の Logstore をクリックします。

  4. Logstore の 検索と分析 ページで、インデックスの有効化 をクリックします。

    説明

    インデックスを有効化した後、最新のデータを約 1 分後にクエリできます。

    image

  5. (オプション)自動更新をオフにします。

    他の Alibaba Cloud サービス専用または内部利用の Logstore では、インデックスの 自動アップデート スイッチがデフォルトでオンになっています。これにより、サービスのアップデート時に組み込みインデックスが最新バージョンにアップグレードされます。カスタムインデックスを作成するには、Query and Analysis パネルで 自動アップデート スイッチをオフにしてください。

    警告

    他のクラウドサービス専用の Logstore のインデックスを削除すると、レポートやアラートなどの関連機能に影響が出る可能性があります。

    自动更新索引

  6. インデックスを作成します。

    フルテキストインデックス

    インデックスの有効化 をクリックすると、フルテキストインデックス スイッチがデフォルトでオンになります。ビジネス要件に基づき、LogReduce大文字と小文字を区別、および 中国語を含む 機能を有効または無効にできます。トークン を指定するか、トークン をカスタマイズすることもできます。

    構成ページは次のようになります:

    image

    パラメーター

    パラメーター

    説明

    LogReduce

    LogReduce スイッチをオンにすると、Log Service は収集中に高度に類似したテキストログを自動的にクラスター化し、共通パターンを抽出します。これにより、ログデータの概要を迅速に把握できます。詳細については、「LogReduce」をご参照ください。

    大文字と小文字を区別

    クエリの大文字小文字の区別を指定します。

    • 大文字と小文字を区別 スイッチをオンにすると、クエリは大文字小文字を区別します。たとえば、ログに internalError が含まれている場合、そのログを見つけるには internalError を使用する必要があります。

    • 大文字と小文字を区別 スイッチをオフにすると、クエリは大文字小文字を区別しません。たとえば、ログに internalError が含まれている場合、キーワード INTERNALERROR および internalerror を使用してそのログを見つけることができます。

    中国語を含む

    検索時の中国語コンテンツの処理方法を指定します。

    • 中国語を含む スイッチをオンにし、ログに中国語文字が含まれている場合、中国語コンテンツは中国語の文法に基づいてトークン化され、その他のコンテンツは指定されたデリミタで分割されます。

      重要

      中国語文字のトークン化は取り込み速度に若干影響を与える可能性があります。必要な場合にのみこのオプションを有効にしてください。

    • 中国語を含む スイッチをオフにすると、すべてのコンテンツが指定されたデリミタで分割されます。

    トークン

    ログコンテンツは、指定されたデリミタに基づいて複数の語に分割されます。Log Service のデフォルトデリミタは , '";=()[]{}?@&<>/:\n\t\r です。デフォルト設定が要件を満たさない場合は、デリミタをカスタマイズできます。すべての ASCII 文字をデリミタとして定義できます。

    トークン フィールドを空のままにすると、フィールド値全体が単一の語として扱われます。完全な文字列で検索するか、ワイルドカードクエリを使用した場合にのみ、ログを見つけることができます。

    たとえば、ログコンテンツは /url/pic/abc.gif です。

    • デリミタを設定しない場合、/url/pic/abc.gif のようなログエントリ全体が単一の語として扱われ、完全な文字列 /url/pic/abc.gif で検索するか、/url/pic/* のようなワイルドカードクエリを使用した場合にのみ見つかります。

    • デリミタをスラッシュ (/) に設定した場合、元のログは urlpic、および abc.gif の 3 つの語に分割されます。これらの語のいずれかを使用して検索するか、あいまい検索(例:urlabc.gifpi*、または /url/pic/abc.gif)を使用してログを見つけることができます。

    • デリミタをスラッシュ (/) およびピリオド (.) に設定した場合、元のログは urlpicabc、および gif の 4 つの語に分割されます。これらの語のいずれかを使用して検索するか、あいまい検索を使用してログを見つけることができます。

    フィールドインデックス

    インデックスの有効化 をクリックすると、Query and Analysis ページで 自動インデックスの生成 をクリックできます。これにより、Log Service はプレビューデータの最初のエントリに基づいてフィールドインデックスを自動生成します。カスタムフィールドインデックスを作成するには、ページ下部の + アイコンをクリックします。フィールドの詳細な説明については、「パラメーターの説明」をご参照ください。

    初回アクセス時のページは次のようになります:image

    フィールドインデックスの構成設定は以下のとおりです:

    image

    パラメーター

    パラメーター

    説明

    キー

    ログフィールド名 (KEY)。例:client_ip

    フィールド名には英字、数字、アンダースコア (_) のみを使用でき、先頭文字は英字またはアンダースコア (_) である必要があります。

    重要
    • パブリック IP アドレス、UNIX タイムスタンプ、またはその他の __tag__ フィールドに対してインデックスを構成する場合、キー__tag__:KEY 形式に設定する必要があります。例:__tag__:__receive_time__。詳細については、「予約済みフィールド」をご参照ください。

    • __tag__ フィールドは数値インデックスをサポートしません。すべての __tag__ フィールドのインデックス タイプtext に設定してください。

    タイプ

    フィールド値のデータ型。有効なオプションは textlongdouble、および json です。詳細については、「データの型」をご参照ください。

    long および double データ型は、大文字と小文字を区別中国語を含む、および トークン 設定をサポートしません。

    エイリアス

    フィールドのエイリアス。たとえば、client_ip フィールドのエイリアスを ip に設定できます。

    エイリアスには英字、数字、アンダースコア (_) のみを使用でき、先頭文字は英字またはアンダースコア (_) である必要があります。

    重要

    エイリアスは分析文 (SELECT 文) 内でのみ使用できます。検索クエリでは元のフィールド名を使用する必要があります。詳細については、「カラムエイリアス」をご参照ください。

    大文字と小文字を区別

    クエリの大文字小文字の区別を指定します。

    • 大文字と小文字を区別 スイッチをオンにすると、クエリは大文字小文字を区別します。たとえば、ログに internalError が含まれている場合、そのログを見つけるには internalError を使用する必要があります。

    • 大文字と小文字を区別 スイッチをオフにすると、クエリは大文字小文字を区別しません。たとえば、ログに internalError が含まれている場合、キーワード INTERNALERROR および internalerror を使用してそのログを見つけることができます。

    トークン

    ログコンテンツは、指定されたデリミタに基づいて複数の語に分割されます。Log Service のデフォルトデリミタは , '";=()[]{}?@&<>/:\n\t\r です。デフォルト設定が要件を満たさない場合は、デリミタをカスタマイズできます。すべての ASCII 文字をデリミタとして定義できます。

    トークン フィールドを空のままにすると、フィールド値全体が単一の語として扱われます。完全な文字列で検索するか、ワイルドカードクエリを使用した場合にのみ、ログを見つけることができます。

    たとえば、ログコンテンツは /url/pic/abc.gif です。

    • デリミタを設定しない場合、/url/pic/abc.gif のようなログエントリ全体が単一の語として扱われ、完全な文字列 /url/pic/abc.gif で検索するか、/url/pic/* のようなワイルドカードクエリを使用した場合にのみ見つかります。

    • デリミタをスラッシュ (/) に設定した場合、元のログは urlpic、および abc.gif の 3 つの語に分割されます。これらの語のいずれかを使用して検索するか、あいまい検索(例:urlabc.gifpi*、または /url/pic/abc.gif)を使用してログを見つけることができます。

    • デリミタをスラッシュ (/) およびピリオド (.) に設定した場合、元のログは urlpicabc、および gif の 4 つの語に分割されます。これらの語のいずれかを使用して検索するか、あいまい検索を使用してログを見つけることができます。

    中国語を含む

    検索時の中国語コンテンツの処理方法を指定します。

    • 中国語を含む スイッチをオンにし、ログに中国語文字が含まれている場合、中国語コンテンツは中国語の文法に基づいてトークン化され、その他のコンテンツは指定されたデリミタで分割されます。

      重要

      中国語文字のトークン化は取り込み速度に若干影響を与える可能性があります。必要な場合にのみこのオプションを有効にしてください。

    • 中国語を含む スイッチをオフにすると、すべてのコンテンツが指定されたデリミタで分割されます。

    集計の有効化

    このフィールドに対して統計分析を実行するには、集計の有効化 スイッチをオンにしてください。

  7. (オプション)最大フィールド長を設定します

    SQL 分析中に、Simple Log Service はデフォルトでフィールド値を切り捨てます。デフォルトの最大長は 2048 バイト (2 KB) です。この最大長を変更する必要がある場合は、Query and Analysis ページの下部にある 統計フィールドの最大長 を設定できます。値の範囲は 64 ~ 16384 バイトです。

    重要
    • インデックス構成の更新は、新しく取り込まれたデータにのみ適用されます。

    • 単一のフィールド値が最大長を超える場合、超過部分は切り捨てられ、分析に含まれません。

    设置字段最大长度

API

Simple Log Service API オペレーションを呼び出すことで、インデックスを管理できます。詳細については、以下のトピックをご参照ください:

SDK

複数のプログラミング言語向けの Simple Log Service SDK を使用して、インデックスを管理できます。以下に一般的に使用される SDK の一部を示します。詳細については、「SDK リファレンス概要」をご参照ください。

Java

Simple Log Service SDK for Java を使用して、インデックスを管理できます。詳細については、「Log Service SDK for Java を使用したインデックス管理」をご参照ください。

Python

Simple Log Service SDK for Python を使用して、インデックスを管理できます。詳細については、「Python SDK を使用したインデックス管理」をご参照ください。

ネイティブ SDK に加えて、SLS は一般的な Alibaba Cloud SDK もサポートしています。詳細については、Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer をご参照ください。

CLI

コマンドラインインターフェイス (CLI) を使用して、Simple Log Service のインデックスを管理できます。詳細については、以下のトピックをご参照ください:

インデックスの更新

操作手順

対象の Logstore の 検索と分析 ページで、インデックス属性 > 属性 を選択します。インデックスの構成内容によって、クエリおよび分析結果が異なります。要件に基づいて慎重にインデックスを更新してください。更新が有効になるまでに約 1 分かかります。

image

インデックスの無効化

重要

無効化 を実行すると、Log Service は Logstore の保持期間が終了した時点で、履歴インデックスデータのストレージを自動的に解放します。

操作手順

対象の Logstore の 検索と分析 ページで、インデックス属性 > 無効化 を選択します。

image

インデックス構成例

例 1

ログコンテンツに request_time フィールドが含まれています。request_time>100 というクエリを実行できます。

  • フルテキストインデックスのみの場合、request_time>(デリミタではない)、および 100 の 3 つの語を含むログが検索結果として返されます。

  • double 型および long 型に対してのみフィールドインデックスを作成した場合、request_time が 100 を超えるログが返されます。

  • フルテキストインデックスと double 型および long 型のフィールドインデックスの両方を作成した場合、request_time のフルテキストインデックスは無視され、request_time が 100 を超えるログが返されます。

例 2

ログコンテンツに request_time フィールドが含まれているため、フルテキストクエリ request_time を実行できます。

  • double 型または long データ型のフィールドインデックスのみを作成した場合、関連するログは返されません。

  • ログテキスト全体から request_time を含むログをクエリするには、フルテキストインデックスのみを作成できます。

  • text 型のフィールドインデックスを持つフィールドから request_time を含むログをクエリできます。

例 3

ログコンテンツに status フィールドが含まれています。分析文 * | SELECT status, count(*) AS PV GROUP BY status を実行します。

  • フルテキストインデックスのみを作成した場合、関連するログは返されません。

  • status に対してフィールドインデックスを作成すると、異なるステータスコードとそれに対応する合計 PV が返されます。

インデックストラフィック

フルテキストインデックス

すべてのフィールド名と値は、 index traffic に含まれます。

フィールド インデックス

インデックストラフィックの計算は、フィールドのdata typeに基づいて異なります。

  • text 型:フィールド名と値の両方が インデックストラフィック にカウントされます。

  • long 型および double 型:フィールド名は インデックストラフィック にカウントされません。各フィールド値は、インデックストラフィック に固定で 8 バイトを加算します。

    たとえば、status フィールド(long 型)に対してインデックスを作成し、その値が 200 の場合、文字列 status はインデックストラフィックに含まれません。200 の値に対するインデックストラフィックは、固定で 8 バイトです。

  • JSON 型:明示的にインデックスされていないサブキーを含め、フィールド名と値の両方が インデックストラフィック にカウントされます。詳細については、「JSON フィールドのインデックストラフィックはどのように計算されますか?」をご参照ください。

    • サブキーがインデックスされていない場合、その インデックストラフィックtext 型であるかのように計算されます。

    • サブキーがインデックスされている場合、その インデックストラフィック は指定されたデータの型(textlong、または double)に基づいて計算されます。

課金

取り込みデータ量課金モードの Logstore

機能別課金モードの Logstore

次のステップ

よくある質問