読者です 読者をやめる 読者になる 読者になる

ゼロからの技術ブログ

初学者がゼロの状態から理解するまでの軌跡を書いていくブログ

ゼロからのElasticsearch Vol.1.1

Elasticsearchを触っていく内に概念とかそこらへんを疎かにしてはいけないと気付く。
今回は言葉の用語のまとめを書いていく。


物理インデックス

node

Elasticsearchの実行単位のインスタンス
主にElasticsearchが稼働しているサーバの事を指す。
Elasticsearchは一台のサーバにつき一つしか稼働しないので、実行単位=サーバ単位となる。

cluster

同じ名前のnode群を一つの単位として扱う。
nodeの上位の単位。

shard

各インデックス(後述)を物理的に分割管理する際の単位。
デフォルトでは一つのインデックスに対して5つに分割される。
分割されたshardは各nodeに割り当てる事ができる。
一度分割したshardは途中変更は出来ない。

primary shard

インデックスの書き込み処理と参照処理を行うshard。
各primary shardに対して一つのreplica shardが作成される。

replica shard

primary shardのコピー。
primary shardが消えてしまった場合、付随するreplica shardがprimaryに昇格しフェールオーバーする。

余談

indexを作成するとデフォルトでprimary shardが作成され、replica shardが作成される。
上記が原因でElasticsearchのstatusがyellowになってしまう為、greenにするには以下方法がある。

1,node数を増やす。
node数が一つである為replica shardが割り当てられない為、単純にnodeを増やしてreplica shardを割り当ててあげる。

2,replica shardの割り当てを0にする。
各indexに設定されているreplica shardをゼロにする事で解決。
その際primary shardが消えてもフェールオーバーされないので注意が必要。
indexのreplica shardを0にするにはupdate indices settingのAPIを使う。

curl -XPUT 'localhost:9200/_settings' 
-d '
{
    "index" : {
        "number_of_replicas" : 0
    }
}'

論理インデックス

index

一番上位のオブジェクト。
RDBMSでいう所のdatabaseに当たる。
実際に検索APIを使う時は、複数のindexを横断的に検索出来る。

type

indexの一つ下位のオブジェクト。
RDBMSでいう所のtableに当たる。

doccument

実際にindex内に保存されたコンテンツ。
typeに設定された仕様で保持されている。

field

論理インデックス構造で最小単位。
RDBMSでいう所のカラムに当たる。
ネスト構造も許可。

基本的な構成は上記の通り。
以下は実際に触っていく上で必要な用語。順次追加していきます。