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

Lindorm:curl コマンドを実行して LindormSearch に接続し、使用する

最終更新日:Mar 08, 2025

LindormSearch は、Elasticsearch と互換性のある一連の RESTful API を提供します。 curl コマンドを実行して API を呼び出し、LindormSearch の検索インデックスとドキュメントを管理できます。

前提条件

  • Lindorm インスタンスで LindormSearch が有効化されています。 詳細については、「LindormSearch を有効化する」をご参照ください。

  • クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されています。 詳細については、「ホワイトリストを構成する」をご参照ください。

LindormSearch への接続

次のコマンドを実行して LindormSearch に接続し、クラスタ内のインデックスに関する情報を表示します。

curl -XGET "http://<url>/_cat/indices?v" -u <username>:<password>  

パラメータ

パラメータ

説明

url

Elasticsearch 用の LindormSearch エンドポイント。 エンドポイントを取得する方法の詳細については、「Elasticsearch 用の LindormSearch エンドポイント」をご参照ください。

重要
  • アプリケーションが ECS インスタンスにデプロイされている場合は、セキュリティを強化し、ネットワーク遅延を低減するために、VPC を使用して Lindorm インスタンスに接続することをお勧めします。

  • アプリケーションがローカルサーバーにデプロイされており、インターネット経由で Lindorm インスタンスに接続する必要がある場合は、Lindorm コンソールでインスタンスのパブリックエンドポイントを有効にするために、次の手順を実行します。左側のナビゲーションウィンドウで、[データベース接続] をクリックします。表示されるページで、[検索エンジン] タブをクリックします。次に、右上隅にある [パブリックエンドポイントを有効にする] をクリックします。

  • VPC を使用して Lindorm インスタンスにアクセスする場合は、url の値に [elasticsearch 用の Lindormsearch VPC エンドポイント] を指定します。インターネットを使用して Lindorm インスタンスにアクセスする場合は、url の値に [elasticsearch 用の Lindormsearch インターネットエンドポイント] を指定します。

username

LindormSearch へのアクセスに使用するユーザー名とパスワード。

デフォルトのユーザー名とパスワードを取得するには、次の手順を実行します。左側のナビゲーションウィンドウで、[データベース接続] をクリックします。表示されるページで、[検索エンジン] タブをクリックします。次に、このタブに表示されているユーザー名とパスワードを確認します。

password

次のコマンドは、LindormSearch に接続する方法の例を示しています。

curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<password>

LindormSearch に接続すると、次の結果が返されます。クラスタにインデックスが作成されていないため、結果にはインデックス情報は含まれていません。

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

LindormSearch で操作を実行する

次の例は、一般的な curl コマンドを使用して LindormSearch で操作を実行する方法を示しています。 その他のコマンドの詳細については、「Elasticsearch ドキュメント」をご参照ください。

インデックスの管理

  • インデックスを作成する。

    LindormSearch に lindorm_search という名前のインデックスを作成します。

    curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<pasword> -H 'Content-Type: application/json' -d '
    {        
     "settings": {
        "number_of_shards": 4         // シャードの数を 4 に設定します。
      }
    }'
    重要

    LindormSearch のノードあたりの最大シャード数は 1000 です。この制限を増やすには、Lindorm テクニカルサポート(DingTalk ID:s0s3eg3)に連絡してください。

    インデックスが作成されると、次の結果が返されます。

    {"acknowledged":true,"shards_acknowledged":true,"index":"lindorm_search"}
  • インデックスのスキーマを構成する。

    lindorm_search のスキーマを _doc タイプの _mapping に設定します。 指定されたスキーマには、idname、および describe フィールドが含まれています。

    curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/_mapping" -u <username>:<pasword> -H 'Content-Type: application/json' -d '
    {        
     "_doc":{
       "properties": {
            "id": {"type": "long"},
            "name":{"type":"keyword"},
            "describe": {"type": "text"}
          }
      }
    }'

    スキーマが構成されると、次の結果が返されます。

    {"_index":"lindorm_search","_type":"_doc","_id":"_mapping","_version":1,"result":"created","_shards":{"total":1,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
  • インスタンスのインデックスを表示する。

    curl  -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<pasword>

    次の結果が返されます。

    health status index          uuid           pri rep docs.count docs.deleted store.size pri.store.size
    green  open   lindorm_search lindorm_search   1   0          0            0       208b           208b

    現在のインスタンスにインデックスが作成されていない場合、返される結果にはインデックス情報は含まれません。

  • インデックスを削除する。

    curl -XDELETE "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<password>

    インデックスが削除されると、次の結果が返されます。

    {"acknowledged":true}

ドキュメントの管理

  • 単一のドキュメントを作成する。

    lindorm_search インデックスに ID が 1 のドキュメントを作成します。

    curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1" -u <username>:<password> -H 'Content-Type: application/json' -d '
    { 
    "id":100,
    "name":"shenzhen",
    "describe":"just a test"
    }'
  • 複数のドキュメントを作成する。

    lindorm_search インデックスに ID が 1 と 2 の 2 つのドキュメントを作成します。

    curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_bulk" -u <username>:<password> -H 'Content-Type: application/json' -d'
    { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "1" } }
    {"id":200,"name":"shanghai","describe":"just"}
    { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "2" } }
    {"id":300,"name":"beijing","describe":"dood luck"}
    '
  • ドキュメントをクエリする。

    ID が 1 のドキュメントをクエリします。

    curl  -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1?pretty" -u <username>:<password>

    次の結果が返されます。

    {
      "_index" : "lindorm_search",
      "_id" : "1",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "id" : 100,
        "name" : "shenzhen",
        "describe" : "just a test"
      }
    }