ユウ
タイトルの方法を忘備録がてらメモしておきます
前提
Dockerコンテナ上でElasticSearchが起動しているのは前提とします。
まだ起動できていない場合は以下のサイトなどを参考に起動します。
https://hub.docker.com/_/elasticsearch
elasticsearch | Docker @ Elastic
ポートの確認
ElasticSearchのコンテナのポートがホストのどのポートに接続されているのか確認します。
ポートの確認はdocker ps
コマンドでできますが、以下のようにすると必要な情報(コンテナ名とポート)のみ表示できます:
% docker ps --format "table {{.Names}}\t{{.Ports}}"
NAMES PORTS
{elasticsearchコンテナの名前} 9300/tcp, 0.0.0.0:9600->9600/tcp, 0.0.0.0:9201->9200/tcp
PORTSの部分を見ると、0.0.0.0:9600->9600/tcp
, 0.0.0.0:9201->9200/tcp
となっています。これより以下のようにポート番号がわかります:
9201, 9600:ホストのポート番号
9200, 9600:コンテナのポート番号
上記のホストのポート番号にアクセスすればElasticSearchにアクセスできます。
ElasticSearchはホストの2つのポート(9201, 9600)で起動していますが、以下では9201にアクセスする場合を説明します。
ElasticSearchにアクセス
indexの確認
curl -XGET '0.0.0.0:9201/_cat/indices?v'
特定indexの設定を確認
curl --include -XGET "0.0.0.0:9201/{IndexName}/_settings?pretty"
ドキュメントの取得
全ドキュメント
curl -XGET '0.0.0.0:9201/{indexName}/_search?pretty'
キーワードで絞り込み
curl -X GET "0.0.0.0:9201/{IndexName}/_search
<クエリDSL>
# 例
curl -X GET "0.0.0.0:9201/sample_index/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": {
"match" : {
"title": "AI"
}
},
"_source": ["id", "title"] # 特定のフィールドを取得したい場合は_sourceを指定する
}
'
参考
初めてのElasticsearch with Docker - Qiita
はじめにElasticsearchの公式チュートリアルやってみました。公式ドキュメント以外にも色々調べながら進めたのですが、「7.0系(type新規作成廃止後)」×「Docker」の記事が少なか…
【Elasticsearch】よく使うコマンド一覧 - Qiita
#Elasticsearchコマンド一覧よく使うコマンドをメモしておく。##目次Elasticsearch関連インデックス関連エイリアス関連ドキュメントタイプ関連ReIndexAPI…
コメント