このチュートリアルでは、Alibaba Cloud Elasticsearch (ES) を初めて利用する開発者向けに、クラスターを作成してデータを取得する方法を説明します。クラスター作成の待機時間 (約 20 分) を含め、完了までの所要時間は約 45 分です。
学習内容
ES クラスターの作成と設定。
Kibana の開発ツールを使用したデータのモデリング。
Kibana は ES コンソールに組み込まれており、手動でインストールする必要はありません。
サンプルデータの挿入とさまざまな検索操作の実行。
このチュートリアルを完了すると、インデックスの作成、データの読み書き、検索の実行など、Alibaba Cloud Elasticsearch の基本的な操作を習得できます。
ES のバージョンとコスト
開始する前に、このチュートリアルに関する以下の重要な情報を確認してください。
ES のタイプとバージョン: Vector Enhanced Edition 8.17.0。
このバージョンは、ドキュメントの解析、チャンク化、テキストの埋め込み、クエリ分析、検索、並べ替え、大規模言語モデル (LLM) の統合など、AI 検索パイプラインの中核となるアルゴリズムサービスをモジュール化しています。セマンティック検索をサポートしており、検索拡張生成 (RAG) やマルチモーダル検索アプリケーションを迅速に構築できます。
推定コスト:このチュートリアルでは、従量課金 を使用します。推奨の仕様と期間に従った場合、総コストは5 米ドル未満になる見込みです。不要な料金の発生を避けるため、終了後はすぐにクラスターをリリースしてください。
前提条件
Alibaba Cloud アカウントに登録してログインします。アカウントに ES および Virtual Private Cloud (VPC) リソースを作成および管理する権限があることを確認してください。
Virtual Private Cloud (VPC) と vSwitch を作成し、その リージョン と ゾーン を記録しておきます。ES クラスターを VPC に接続するには、同じリージョンとゾーンに作成する必要があります。
操作手順
ステップ1:クラスターの作成 (約 20 分)
クラスター作成ページ でクラスターを作成します。以下の表に示す主要なパラメーターを設定し、その他のパラメーターはデフォルト値のままにします。
パラメーター
説明
[支払い方法]
従量課金 を選択します。これにより、いつでもクラスターをリリースできます。
[リージョンとゾーン]
リージョン: VPC と vSwitch があるリージョンを選択します。
ゾーン: このチュートリアルでは、クラスターの作成時間を短縮するために単一ゾーンを選択します。本番環境では、可用性を高めるために マルチゾーンデプロイ にアップグレードできます。
このチュートリアルでは、中国 (杭州) / ゾーン I を使用します。
[ネットワークタイプ]
作成した VPC と vSwitch を選択します。
[インスタンスタイプ]と[Elasticsearch Version]
Vector Enhanced Edition 8.17.0。このチュートリアルはこのバージョンに基づいています。
[データノード仕様]
CPUタイプ: Intel 2 vCPU、4 GiB メモリ。
データノードのストレージタイプとサイズ: SSD クラウドディスク、ノードあたり 20 GiB のストレージ容量。
データノード数: 2。
データノードはインデックスデータを格納し、ドキュメントの作成、取得、更新、削除、集計などの操作を処理します。
ES_test
[パスワード]
カスタムパスワードを作成します。このパスワードは、Kibana にログインしてインデックスを作成し、データを探索する際に使用します。
Buy Now をクリックし、クラスターのステータスがアクティブに変わるまで約 20 分間待ちます。
ステップ2:Kibana の設定とログイン
Kibana のパブリックアクセスはデフォルトで有効になっていますが、セキュリティのため、すべての IP アドレスからのアクセスは拒否されます。Kibana コンソールにアクセスするには、お使いのデバイスの IP アドレスを パブリックアクセスホワイトリスト に追加する必要があります。
認証は 2 段階のプロセスです。まず、Alibaba Cloud アカウントにログインする必要があります。次に、ES クラスターの認証情報 (ユーザー名は elastic で、その対応するパスワード) を使用して Kibana にログインする必要があります。
左側のナビゲーションペインで、データ可視化をクリックします。Kibana セクションで、設定の編集をクリックします。
ネットワークアクセス設定 セクションで、Kibana パブリックアクセスホワイトリストを変更します。
デバイスの IP アドレス
以下の表を参考に、お使いのデバイスの IP アドレスを確認してください。
シナリオ
IP アドレス
方法
ローカルコンピューターからインターネット経由で Kibana にアクセスする。
ローカルコンピューターのパブリック IP アドレス。
説明コンピューターが家庭用または社内ネットワーク上にある場合は、ローカルエリアネットワーク (LAN) のパブリックな出口 IP アドレスを追加する必要があります。
お使いのコンピューターのパブリック IP アドレスを確認するには、
curl ipinfo.io/ipコマンドを実行します。ECS インスタンスからインターネット経由で Kibana にアクセスする。
ECS インスタンスと ES クラスターが異なる VPC にある場合は、ECS インスタンスのパブリック IP アドレスを使用して Kibana にアクセスします。この IP アドレスを ES クラスターのパブリックアクセスホワイトリストに追加します。
ECS コンソールにログインし、インスタンスリストでインスタンスのパブリック IP アドレスを確認します。
パブリックホワイトリスト
お使いのデバイスの IP アドレスを確認し、パブリックアクセスホワイトリスト に追加します。
default グループの右側にある設定 をクリックします。 表示されるダイアログボックスで、IP アドレスをホワイトリストに追加します。
設定タイプ
形式と例
注意
IPv4 アドレス形式
単一 IP アドレス:
192.168.0.1CIDR ブロック:
192.168.0.0/24。 個々の IP アドレスを CIDR ブロックに集約することをお勧めします。
1 つのクラスターに対して最大 300 の IP アドレスまたは CIDR ブロックを設定できます。複数のエントリはコンマ (,) で区切ります。コンマの前後にスペースは入れないでください。
デフォルトのパブリックアドレスは
127.0.0.1で、すべての IPv4 アドレスからのアクセスが拒否されます。0.0.0.0/0: すべての IPv4 アドレスからのアクセスを許可します。重要0.0.0.0/0を設定しないでください。この設定は高いセキュリティリスクを伴います。一部のクラスターおよびリージョンでは
0.0.0.0/0をサポートしていません。正確な情報については、ユーザーインターフェイスまたはエラーメッセージをご参照ください。
設定が完了したら、OK をクリックします。
インターネットからのアクセス をクリックします。Kibana ログインページで、ユーザー名とパスワードを入力します。ログイン後、Kibana コンソールにリダイレクトされます。
[ユーザー名]:
elastic。[パスワード]: ES クラスターの作成時に設定したパスワード。パスワードを忘れた場合は、リセットできます。
Developer Tools コンソールに移動し、
GET /コマンドを実行してクラスター情報を照会します。検証: 右側のペインにバージョン番号や名前などのクラスターの詳細を含む JSON オブジェクトが表示されれば、接続は成功です。
ステップ3:インデックスの作成
Kibana Dev Tools で、以下のコマンドを実行して、product_info という名前のインデックスを作成し、資産管理製品データのマッピングを定義します。
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:インデックスのシャード設定を定義します。たとえば、この設定では 5 つのプライマリシャードと、各プライマリシャードに 1 つのレプリカを定義しています。
mappings: インデックスフィールドを定義します。 たとえば、この設定ではproductName、annual_rate、およびdescribeの 3 つのフィールドを定義します。text型のフィールドは、全文検索をサポートするためにトークン化されます。keyword型のフィールドは、完全一致に使用されます。 フィールドタイプの詳細については、「フィールドのデータ型」をご参照ください。
確認:レスポンスに "acknowledged": true と "shards_acknowledged": true が含まれている場合、インデックスが正常に作成されたことを示します。
ステップ4:データの挿入
以下のコマンドを実行して、サンプルデータを一括で挿入します。
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 return message notifications."}
{"index":{}}
{"productName":"Wealth Management Product F","annual_rate":"2.7500%","describe":"Popular short-term product. 3-day term, no fees. Minimum investment: 500. Return notifications by SMS."}確認:レスポンスに"errors": falseが含まれている場合、データの挿入は成功です。
ステップ5:データの検索
全文検索
describe フィールドに「計上済み収益の日次プッシュ通知」が含まれる資産運用商品を検索します:
GET /product_info/_search
{
"query": {
"match": {
"describe": "Daily push notifications for credited returns"
}
}
}検証: 結果は 関連度スコア に基づいてソートされ、スコアの高い結果が先に表示されます。
条件検索
annual_rate が 3.00% から 3.13% の資産運用商品を検索します:
GET /product_info/_search
{
"query": {
"range": {
"annual_rate": {
"gte": "3.0000%",
"lte": "3.1300%"
}
}
}
}検証: クエリは指定された 範囲 内のすべての結果を返します。クエリ句の詳細については、「クエリDSL」をご参照ください。
リソースのクリーンアップと次のステップ
データの削除とクラスターのリリース
以下のコマンドを実行して、テストインデックスを削除します。
DELETE /product_info以下のレスポンスが返されます。
{ "acknowledged" : true }ES コンソールに戻ります。
クラスターリストで、リリースするクラスターを見つけます。操作 列で をクリックします。直ちに削除 を選択し、OK をクリックしてクラスターをリリースします。
重要クラスターをリリースすると、クラスターとそのすべてのデータが完全に削除されます。この操作は元に戻すことができません。慎重に操作してください。
次のステップ
Alibaba Cloud Elasticsearch の詳細については、以下のトピックをご参照ください。
データ取り込み: ビジネスデータを収集して ES クラスターに移行します。
移行前に、データ量に基づいてクラスター設定をアップグレード する必要があるか判断します。
Kibana の可視化: Discover や Dashboard などの Kibana の機能を使用して、データ可視化ダッシュボードを作成する方法を学びます。
> クラスターのリリース