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

:Kibana を使用したデータの取得

最終更新日:Nov 11, 2025

このトピックでは、シナリオを使用して、Alibaba Cloud Elasticsearch (ES) クラスターの作成、インデックスの作成、およびデータの検索方法を説明します。このシナリオでは、金融サービス会社が ES を使用して、その資産管理プロダクトの検索機能を提供します。

開始する前に

  • データの説明: このトピックで使用されるデータは、会社の資産管理プロダクトに関するサンプル情報です。

    データ例

    {
        "products": [
            {
                "productName": "Wealth Management Product A",
                "annual_rate": "3.2200%",
                "describe": "180-day fixed-term product. Minimum investment: 20,000. Stable returns. Optional push notifications."
            },
            {
                "productName": "Wealth Management Product B",
                "annual_rate": "3.1100%",
                "describe": "90-day scheduled investment product. Minimum investment: 10,000. Daily push notifications for credited returns."
            },
            {
                "productName": "Wealth Management Product C",
                "annual_rate": "3.3500%",
                "describe": "270-day scheduled investment product. Minimum investment: 40,000. Daily push notifications for immediately credited returns."
            },
            {
                "productName": "Wealth Management Product D",
                "annual_rate": "3.1200%",
                "describe": "90-day scheduled investment product. Minimum investment: 12,000. Daily push notifications for credited returns."
            },
            {
                "productName": "Wealth Management Product E",
                "annual_rate": "3.0100%",
                "describe": "Recommended 30-day scheduled investment product. Minimum investment: 8,000. Daily push notifications for returns."
            },
            {
                "productName": "Wealth Management Product F",
                "annual_rate": "2.7500%",
                "describe": "Popular 3-day short-term product. No service fees. Minimum investment: 500. Return notifications sent by text message."
            }
        ]
    }
  • バージョン情報: Alibaba Cloud ES は複数の バージョン をサポートしています。バージョンが異なると、提供される機能も異なります。このトピックでは、バージョン 8.17 を例として使用します。

  • 課金情報: このトピックでは、従量課金インスタンスの作成方法を説明します。使用したリソースに対して課金されます。詳細については、「課金の概要」をご参照ください。このトピックの操作には 20 元未満の費用がかかります。

  • Kibana: Kibana は、データ分析と可視化のための柔軟なツールです。Kibana を使用して、ES インデックス内のデータを検索、表示、および操作できます。

  • RESTful API: HTTP 経由で ES クラスターと対話できます。このトピックの操作 (インデックスの作成、データの挿入と検索、インデックスの削除など) は、RESTful API を使用して実行されます。

前提条件

Virtual Private Cloud (VPC) と vSwitch が必要です。VPC と vSwitch を使用して、ES インスタンスを保護し、他のリソースとの通信を有効にし、高可用性を実現できます。

説明

ES インスタンスを作成するときは、適切な VPC と vSwitch を選択する必要があります。VPC と vSwitch は、ES インスタンスと同じリージョンとゾーンにある必要があります。インスタンスの作成後に VPC または vSwitch を変更することはできません。

次の表に、このトピックで使用される VPC と vSwitch の主要なパラメーターを示します。

カテゴリ

構成例

VPC

  • リージョン: 中国 (杭州)

  • IPv4 CIDR ブロック: 手動入力を選択し、CIDR ブロックを 172.16.0.0/16 に設定します。

vSwitch

ゾーン: 杭州ゾーン I

手順

次のステップでは、Alibaba Cloud ES クラスターを作成し、データを検索する方法について説明します。

  1. インスタンスの作成: Alibaba Cloud ES インスタンスは、使いやすく、スケーラブルで、安定した検索エンジン プラットフォームを提供するマネージド ES サービスです。インスタンス内ですべてのデータストレージ、検索、および分析操作を実行する必要があります。

  2. インスタンスへのアクセス: Kibana を使用してインスタンスにアクセスします。Kibana を使用して、インデックスとドキュメントの作成、データの挿入、およびデータの検索を行うことができます。

  3. インデックスの作成: サンプルの資産管理プロダクト情報を格納するインデックスを作成します。また、各フィールドの検索タイプとトークン化メソッドも定義します。

    説明

    インデックスは、ES が関連ドキュメントを格納するために使用する論理コンテナーです。インデックスはデータの整理と管理に役立ち、クエリ効率を大幅に向上させます。

  4. ドキュメントの作成とデータの挿入: ドキュメントを作成し、サンプルの資産管理プロダクト情報を作成したインデックスに挿入します。これにより、データをクエリできるようになります。

  5. データの検索: 全文検索を使用するか、条件を指定してプロダクトを検索します。

  6. (オプション) 次のステップ: テストインデックスの削除、データの移行、クラスターのスケールアウト、インスタンスのリリースなど、オプションのステップを実行します。

ステップ 1: インスタンスの作成

  1. Elasticsearch 購入ページに移動します。

  2. 次の表の説明に従って、インスタンスパラメーターを構成します。

    次の表の説明に従って、インスタンスパラメーターを構成します。

    説明

    記載されていないパラメーターはデフォルト値のままにします。インスタンス作成のパラメーターの詳細については、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。

    パラメーター

    説明

    プロダクトタイプ

    従量課金を選択します。

    リージョンとゾーン

    中国 (杭州)ゾーン I を選択します。

    ゾーン数

    単一ゾーンを選択します。

    VPC と VSwitch

    前提条件セクションで作成した VPC と vSwitch を選択します。

    インスタンスタイプとバージョン

    ベクトル拡張とバージョン 8.17.0 を選択します。

    インスタンス名

    ES_test に設定します。

    ユーザー名とパスワード

    ユーザー名は elastic で、変更できません。カスタムパスワードを指定します。

  3. [今すぐ購入] をクリックして支払いを完了します。支払いが完了すると、インスタンスが作成されます。

    説明

    インスタンスの作成プロセスには約 20 分かかります。

  4. インスタンスのステータスを表示します。

    1. Alibaba Cloud Elasticsearch コンソールに移動します。

    2. トップメニューバーで、[中国 (杭州)] リージョンを選択します。左側のナビゲーションウィンドウで、[Elasticsearch インスタンス] をクリックします。インスタンスリストで作成されたインスタンスのステータスを表示できます。

      インスタンスのステータスが [アクティブ] の場合、インスタンスは作成されており、次のステップに進むことができます。

ステップ 2: インスタンスへのアクセス

  1. データ可視化ページに移動します。

    1. Elasticsearch インスタンスリストで、管理するインスタンスの ID をクリックします。

    2. 左側のナビゲーションウィンドウで、[構成と管理] > [データ可視化] を選択します。

  2. Kibana パブリックアクセスホワイトリストを構成します。

    このトピックでは、インターネット経由で Kibana にアクセスする方法を説明します。アクセス制限を防ぐには、クライアントの IP アドレスを Kibana パブリックアクセスホワイトリストに追加する必要があります。

    説明

    Kibana アクセスのネットワーク構成とよくある質問 (FAQ) の詳細については、「Kibana コンソールへのログオン」をご参照ください。

    1. [Kibana] セクションで、[構成の変更] をクリックします。

    2. [Kibana パブリックアクセスホワイトリスト] の横にある [変更] をクリックし、クライアントの IP アドレスをホワイトリストに追加します。

  3. Kibana Dev Tools に移動します。

    Kibana の Dev Tools を使用して ES インスタンスにアクセスし、インデックスの作成、ドキュメントの作成、データの挿入、データの検索などの操作を実行できます。

    1. データ可視化ページに戻ります。[Kibana] セクションで、[インターネット経由でアクセス] をクリックします。

    2. ユーザー名とパスワードを入力し、[ログイン] をクリックします。

      説明

      ユーザー名は [elastic] で、パスワードはステップ 1 で指定したものです。

    3. ようこそページで、[自分で探索] をクリックします。

    4. 左上隅にある image アイコンをクリックし、[管理] > [Dev Tools] を選択して Dev Tools コンソールに移動します。

  4. 接続をテストします。

    [コンソール] タブで、GET / コマンドを実行して ES インスタンスにアクセスします。次の結果が返された場合、接続は成功です。image

ステップ 3: インデックスの作成

product_info という名前のインデックスを作成します。productName フィールドと describe フィールドを全文検索と粗粒度のトークン化用に構成します。annual_rate フィールドを完全一致用に構成します。次のサンプルコードに構成を示します。

PUT /product_info
{
  "settings": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  },
  "mappings": {
      "properties": {
        "productName": {
          "type": "text",
          "analyzer": "ik_smart"
        },
        "annual_rate":{
          "type":"keyword"
        },
        "describe": {
          "type": "text",
          "analyzer": "ik_smart"
        }
    }
  }
}

次の表に、主要なパラメーターを示します。

カテゴリ

パラメーターと説明

settings (インデックス構成)

プライマリシャードとレプリカシャードの数を定義します。

  • number_of_shards: プライマリシャードの数。このパラメーターは、データストレージとクエリワークロードを水平方向にスケールアウトするために使用されます。

  • number_of_replicas: 各プライマリシャードのレプリカシャードの数。このパラメーターは、フォールトトレランスと読み取りパフォーマンスを向上させるために使用されます。

mappings (フィールドマッピング定義)

資産管理プロダクトの productNameannual_rate、および describe フィールドの検索タイプとトークン化メソッドを定義します。

  • type: フィールドのデータの型と検索メソッドを定義します。

    • text に設定: フィールドは全文検索、トークン化、およびあいまい一致をサポートします。

    • keyword に設定: フィールドは完全一致をサポートしますが、トークン化はサポートしません。

  • analyzer: フィールドのトークン化メソッドを定義します。このトピックでは、analysis-ik プラグインを粗粒度のトークン化に使用します。

次の結果が返された場合、インデックスは正常に作成されます。image

ステップ 4: ドキュメントの作成とデータの挿入

_bulk API を使用して、バッチ操作で複数のドキュメントを product_info インデックスに追加します。各ドキュメントには、プロダクト名、年利率、説明など、資産管理プロダクトに関するデータが含まれています。次のサンプルコードは、ドキュメントを追加する方法を示しています。

説明

{"index":{}} は、新しいドキュメントを挿入することを示します。ES は、各ドキュメントに一意の ID を自動的に生成します。

POST /product_info/_bulk
{"index":{}}
{"productName":"Wealth Management Product A","annual_rate":"3.2200%","describe":"180-day fixed-term product. Minimum investment: 20,000. Stable returns. Optional push notifications."}
{"index":{}}
{"productName":"Wealth Management Product B","annual_rate":"3.1100%","describe":"90-day scheduled investment product. Minimum investment: 10,000. Daily push notifications for credited returns."}
{"index":{}}
{"productName":"Wealth Management Product C","annual_rate":"3.3500%","describe":"270-day scheduled investment product. Minimum investment: 40,000. Daily push notifications for immediately credited returns."}
{"index":{}}
{"productName":"Wealth Management Product D","annual_rate":"3.1200%","describe":"90-day scheduled investment product. Minimum investment: 12,000. Daily push notifications for credited returns."}
{"index":{}}
{"productName":"Wealth Management Product E","annual_rate":"3.0100%","describe":"Recommended 30-day scheduled investment product. Minimum investment: 8,000. Daily push notifications for returns."}
{"index":{}}
{"productName":"Wealth Management Product F","annual_rate":"2.7500%","describe":"Popular 3-day short-term product. No service fees. Minimum investment: 500. Return notifications sent by text message."}

結果に "errors": false が含まれている場合、データは正常に挿入されます。image

ステップ 5: データの検索

シナリオ 1: 全文検索

この例では、match クエリを使用して describe フィールドのキーワードを照合します。このクエリは、product_info インデックスで、説明に Daily push notifications for credited returns が含まれるすべてのプロダクトを検索します。次のコードにクエリを示します。

GET /product_info/_search
{
  "query": {
    "match": {
      "describe": "Daily push notifications for credited returns"
    }
  }
}

次の表に、主要なパラメーターを示します。

パラメーター

説明

query

クエリ条件を定義します。

match

入力内容をトークン化します。

describe

クエリするフィールドを指定します。これは 説明内容 です。product_info インデックスでは、describe フィールドは text 型として定義され、粗粒度のトークン化に analysis-ik トークナイザを使用します。つまり、このフィールドに対するクエリでは、全文一致とトークン化が使用されます。

次の結果が返されます。

説明
  • Alibaba Cloud ES では、トークナイザを使用してテキストデータを処理し、データを検索し、スコアで検索結果をソートできます。結果では、先に表示されるエントリほど関連性スコアが高くなります。

  • このクエリは、説明フィールドにキーワードに関連するテキストが含まれるすべてのドキュメントを返します。全文検索が使用されるため、説明内の一部の単語の順序が異なっていたり、省略されていたりしても、ES は関連性に基づいて一致を見つけることができます。

{
  "took": 27,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 6,
      "relation": "eq"
    },
    "max_score": 1.7260926,
    "hits": [
      {
        "_index": "product_info",
        "_id": "MXS855cBfq0GQy5BxZ0m",
        "_score": 1.7260926,
        "_source": {
          "productName": "Wealth Management Product C",
          "annual_rate": "3.3500%",
          "describe": "270-day scheduled investment product. Minimum investment: 40,000. Daily push notifications for immediately credited returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "MnS855cBfq0GQy5BxZ0m",
        "_score": 1.7260926,
        "_source": {
          "productName": "Wealth Management Product D",
          "annual_rate": "3.1200%",
          "describe": "90-day scheduled investment product. Minimum investment: 12,000. Daily push notifications for credited returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "MHS855cBfq0GQy5BxZ0m",
        "_score": 1.7260926,
        "_source": {
          "productName": "Wealth Management Product B",
          "annual_rate": "3.1100%",
          "describe": "90-day scheduled investment product. Minimum investment: 10,000. Daily push notifications for credited returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "M3S855cBfq0GQy5BxZ0m",
        "_score": 1.1507283,
        "_source": {
          "productName": "Wealth Management Product E",
          "annual_rate": "3.0100%",
          "describe": "Recommended 30-day scheduled investment product. Minimum investment: 8,000. Daily push notifications for returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "L3S855cBfq0GQy5BxZ0m",
        "_score": 1.1325164,
        "_source": {
          "productName": "Wealth Management Product A",
          "annual_rate": "3.2200%",
          "describe": "180-day fixed-term product. Minimum investment: 20,000. Stable returns. Optional push notifications."
        }
      },
      {
        "_index": "product_info",
        "_id": "NHS855cBfq0GQy5BxZ0m",
        "_score": 0.3420724,
        "_source": {
          "productName": "Wealth Management Product F",
          "annual_rate": "2.7500%",
          "describe": "Popular 3-day short-term product. No service fees. Minimum investment: 500. Return notifications sent by text message."
        }
      }
    ]
  }
}

シナリオ 2: 条件による検索

この例では、range クエリを使用して product_info インデックスで年利率が 3.0000% から 3.1300% の間のプロダクトを検索します。次のコードにクエリを示します。

GET /product_info/_search
{
  "query": {
    "range": {
      "annual_rate": {
        "gte": "3.0000%",
        "lte": "3.1300%"
      }
    }
  }
}

次の表に、主要なパラメーターを示します。

パラメーター

説明

query

クエリ条件を定義します。

range

範囲クエリを示します。

annual_rate

クエリするフィールド。これは 年利率 です。product_info インデックスでは、annual_rate フィールドは keyword 型として定義されています。つまり、このフィールドに対するクエリでは完全一致が使用されます。

gte

以上。

lte

以下。

次の結果が返されます。

{
  "took": 27,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 3,
      "relation": "eq"
    },
    "max_score": 1,
    "hits": [
      {
        "_index": "product_info",
        "_id": "M3S855cBfq0GQy5BxZ0m",
        "_score": 1,
        "_source": {
          "productName": "Wealth Management Product E",
          "annual_rate": "3.0100%",
          "describe": "Recommended 30-day scheduled investment product. Minimum investment: 8,000. Daily push notifications for returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "MnS855cBfq0GQy5BxZ0m",
        "_score": 1,
        "_source": {
          "productName": "Wealth Management Product D",
          "annual_rate": "3.1200%",
          "describe": "90-day scheduled investment product. Minimum investment: 12,000. Daily push notifications for credited returns."
        }
      },
      {
        "_index": "product_info",
        "_id": "MHS855cBfq0GQy5BxZ0m",
        "_score": 1,
        "_source": {
          "productName": "Wealth Management Product B",
          "annual_rate": "3.1100%",
          "describe": "90-day scheduled investment product. Minimum investment: 10,000. Daily push notifications for credited returns."
        }
      }
    ]
  }
}

(オプション) 次のステップ

インデックスの削除

次のコマンドを実行して、このトピックで作成したテストインデックスを削除します。

DELETE /product_info

次の結果が返されます。image

データの移行とクラスターのスケールアウト

  • データ移行: ビジネスデータを Alibaba Cloud ES に移行して、その後のクエリと分析を行うことができます。

  • クラスターのスケールアウト: 現在のクラスター構成がビジネスのワークロードまたはパフォーマンス要件を満たせない場合は、必要に応じてクラスターをスケールアウトできます。

インスタンスのリリース

ES インスタンスが不要になった場合は、不要な課金を避けるためにすぐにリリースしてください。

警告

インスタンスがリリースされると、データを復元することはできません。注意して進めてください。インスタンスをリリースする前に、データをバックアップすることをお勧めします。インスタンスがリリースされると、課金は停止します。

関連ドキュメント