Lindorm Search Engine はグラフィカルユーザーインターフェイス (GUI) を提供しており、これを使用して RESTful API リクエストを送信し、Lindorm Search Engine にアクセスできます。本トピックでは、Lindorm コンソールを使用して UI にログインし、読み取りおよび書き込みリクエストを実行する方法について説明します。
前提条件
ご利用のインスタンスのサービスタイプが Lindorm V1 または Lindorm である必要があります。サービスタイプの確認方法については、「プロダクトシリーズの確認」をご参照ください。
LindormSearch が有効化されています。詳細については、「有効化ガイド」をご参照ください。
クライアントの IP アドレスが Lindorm のホワイトリストに登録されている必要があります。詳細については、「ホワイトリストの設定」をご参照ください。
重要クライアントがデフォルトで IPv6 を使用している場合、IPv6 を無効にしてください。無効にしないと、ホワイトリストの検証が失敗します。
操作手順
GUI へのログイン
Lindorm コンソール にログインします。
ページ左上隅で、ご利用のインスタンスが配置されているリージョンを選択します。
Instances ページで、ターゲットインスタンスの ID をクリックするか、Actions 列の View Instance Details をクリックします。
左側のナビゲーションウィンドウで、Search Engine をクリックします。
[UI アクセス] セクションで、クラスター管理システムにログインするために Internet または VPC をクリックします。
ログインページで、[UI アクセス] セクションに表示されている Default Username および デフォルトの初期パスワード を入力します。
説明UI に初めてアクセスする際、ページリソースのロードに数秒かかる場合があります。
初回ログイン時は、必ず Default Username および デフォルトの初期パスワード を使用して Search UI にログインしてください。2 回目以降のログインでは、デフォルトユーザーが作成した他のユーザーを使用してクラスター管理 UI にログインできます。
読み取りおよび書き込み操作
読み取りおよび書き込み操作の構文は、Elasticsearch (ES) API 7.x と互換性があります。
Dev tools
ページ左上隅の
アイコンをクリックしてサイドバーを開き、 をクリックします。[Dev Tools] では、RESTful API リクエストを LindormSearch に送信できます。
作成済みインデックスの一覧表示
cat API を使用して、LindormSearch 内のすべてのインデックスに関する基本情報を表示します。
応答に列ヘッダーを表示するには、リクエストパスに v パラメーターを追加します。
GET /_cat/indices?v以下の応答が返されます。
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open test2 test2 2 0 0 0 416b 416b
green open test3 test3 2 0 1 0 16.8kb 16.8kb
green open test1 test1 1 0 0 0 208b 208b
green open .kibana_1 .kibana_1 1 0 1 0 5.1kb 5.1kbインデックスの作成
Create index API を使用して新しいインデックスを追加します。
リクエストボディでは、インデックスの settings および mappings を指定できます。
settings:インデックスの構成。たとえば、シャード数 (index.number_of_shards) や更新間隔 (index.refresh_interval) を指定できます。更新間隔とは、ドキュメントがインデックスされてから検索可能になるまでの最大時間です。mappings:インデックスのスキーマ。たとえば、フィールドとそのデータの型を定義できます。PUT /test { "settings": { "index.number_of_shards": 2, "index.refresh_interval": "10s" }, "mappings": { "properties": { "firstName": { "type": "keyword" }, "lastName": { "type": "keyword" } } } }以下の応答が返されます。
{ "acknowledged": true, "shards_acknowledged": true, "index": "test" }
特定のインデックスの表示
Get index API を使用して、インデックスの
settingsおよびmappingsを表示します。GET /test以下の応答が返されます。
{ "test": { "aliases": {}, "mappings": { "properties": { "firstName": { "type": "keyword" }, "lastName": { "type": "keyword" } } }, "settings": { "index": { "search": { "slowlog": { "level": "DEBUG", "threshold": { "fetch": { "warn": "1s", "trace": "200ms", "debug": "500ms", "info": "800ms" }, "query": { "warn": "10s", "trace": "500ms", "debug": "1s", "info": "5s" } } } }, "refresh_interval": "10s", "indexing": { "slowlog": { "level": "DEBUG", "threshold": { "index": { "warn": "10s", "trace": "500ms", "debug": "2s", "info": "5s" } } } }, "number_of_shards": "2", "provided_name": "test4", "creation_date": "1722418296110", "number_of_replicas": "0", "uuid": "test4", "version": { "created": "136287927" } } } } }settingsまたはmappingsのみを表示する場合は、Get index settings API または Get mapping API を使用できます。以下の例は、インデックスの
settingsを取得する方法を示しています。GET /test/_settings以下の応答が返されます。
{ "test": { "settings": { "index": { "search": { "slowlog": { "level": "DEBUG", "threshold": { "fetch": { "warn": "1s", "trace": "200ms", "debug": "500ms", "info": "800ms" }, "query": { "warn": "10s", "trace": "500ms", "debug": "1s", "info": "5s" } } } }, "refresh_interval": "10s", "indexing": { "slowlog": { "level": "DEBUG", "threshold": { "index": { "warn": "10s", "trace": "500ms", "debug": "2s", "info": "5s" } } } }, "number_of_shards": "2", "provided_name": "test4", "creation_date": "1722418296110", "number_of_replicas": "0", "uuid": "test4", "version": { "created": "136287927" } } } } }
インデックス設定の更新
Update index settings API を使用して、インデックスの動的設定を更新します。
以下の例は、index.refresh_interval 設定を 1s に変更する方法を示しています。これにより、ドキュメントがインデックスされてから検索可能になるまでの時間が 1 秒に短縮されます。最小間隔は 1 秒です。
PUT /test/_settings
{
"index": {
"refresh_interval": "1s"
}
}以下の応答が返されます。
{
"acknowledged": true
}インデックスへのデータ書き込み
Index API を使用して、インデックスにドキュメントを追加または更新します。
PUTメソッドを使用する場合、明示的にidを指定する必要があります。idがすでにインデックス内に存在する場合、新しいドキュメントで既存のドキュメントが上書きされます。以下の例では、
idを1に設定しています。PUT /test/_doc/1 { "firstName": "John", "lastName": "Smith" }以下の応答が返されます。
{ "_index": "test", "_type": "_doc", "_id": "1", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }POSTメソッドを使用する場合、idを省略できます。LindormSearch が自動的にドキュメントのidを生成します。POST /test/_doc { "firstName": "Frank", "lastName": "Brown" }以下の応答が返されます。
{ "_index": "test", "_type": "_doc", "_id": "b_MsCJEB3g4To6JSOeF6", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }LindormSearch は、このドキュメントに対して自動的に
idb_MsCJEB3g4To6JSOeF6を生成します。Update API を使用して、既存ドキュメントの特定のフィールドを更新します。リクエストパスにドキュメントの
idを含める必要があり、リクエストボディにはdocオブジェクトを含める必要があります。以下の例では、
idが1のドキュメントのfirstNameフィールドをLaneに更新しています。POST /test/_update/1 { "doc": { "firstName": "Lane" } }以下の応答が返されます。
{ "_index": "test", "_type": "_doc", "_id": "1", "_version": 2, "result": "updated", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }
インデックス内のデータのクエリ
Search API を使用して、リクエストボディにクエリ条件を指定することで、インデックス内のデータをクエリします。
以下の例では、
lastNameがSmithであるドキュメントを検索しています。GET /test/_search { "query": { "match": { "lastName": "Smith" } } }以下の応答が返されます。
{ "took": 4, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.18232156, "hits": [ { "_index": "test", "_id": "1", "_score": 0.18232156, "_source": { "firstName": "Lane", "lastName": "Smith" } } ] } }Get API を使用して、
idでドキュメントを取得します。以下の例では、
idが1のドキュメントを取得しています。GET /test/_doc/1以下の応答が返されます。
{ "_index": "test", "_id": "1", "_version": 2, "_seq_no": 1, "_primary_term": 1, "found": true, "_source": { "firstName": "Lane", "lastName": "Smith" } }
インデックスからのデータ削除
Delete API は、id を指定してインデックスからドキュメントを削除します。
以下の例では、id が 1 のドキュメントを削除しています。
DELETE /test/_doc/1以下の応答が返されます。
{
"_index": "test",
"_type": "_doc",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}応答において、"successful": 1 はドキュメントが正常に削除されたことを示します。