Elasticsearchの基本的な使い方

2775 ワード

Elasticsearchとリレーショナル・データベースMySQLの対応するロール関係
MySQL             ElasticSearch database                 index table                         type row                          document column                     field                                                                                                                                                           schema                  mapping
現在のノードのすべてのIndexを表示します.       curl -X GET ' localhost:9200 /_cat/indices?v'
新しいIndex:
                  curl -X PUT 'localhost:9200/index_name'
Indexを削除するには:
                  curl -X DELETE 'localhost:9200/index_name'
すべてのindex、typeをクエリーします.
                  curl  “localhost:9200/_search?pretty“
indexの下にあるすべてのtypeをクエリーします.
                  curl ‘localhost:9200/index_name/_search‘
各Indexに含まれるType:
                  curl 'localhost:9200/_mapping?pretty=true'
あるindexの下、あるtypeの下のすべてのレコードをクエリーします.
                  curl “localhost:9200/index_name/type_name/_search?pretty“
cluster:クラスタ.1つのesクラスタは複数のノード(node)からなり、各クラスタはcluster nameをクラスタ識別とする
Node:ノード、1つのesインスタンスは1つのnodeであり、1つのマシンには複数のインスタンスがあるため、1台のマシンが1つのnodeであるとは言えませんが、多くの場合、1つのnodeは独立した環境または仮想マシン上で実行されます.
index:データベース
shard:スライスされ、各indexには複数のshardがあり、indexのデータは各shardに割り当てられる(分布式検索).
shardは横方向の拡張に役立ち、N個のスライスはできるだけ平均的に異なるnodeに割り当てられる(例えば2つのノード、4つのプライマリスライス(バックアップを考慮せず)、各ノードは2つのスライスに分けられ、その後2つのノードが増加すると、4つのノードは1つのスライスがあり、これはes感知後に自動的に完了するrelocationプロセスである).
スライスは独立しており、各search request動作に対して、各スライスはこのrequestを実行する.各スライスは1つのLucene Indexであるため、1つのスライスはintegerしか保存できない.Max_Max_value-128=2174483519 docs
replica:レプリケーションは、バックアップスライスとして理解でき、対応するprimary shard(プライマリスライス)があります.
プライマリ・スライスとバックアップ・スライスは同じノードには表示されません(単一の障害を防止します).デフォルトでは、インデックスは5つのスライスを作成し、バックアップは5+5です.
ノードが1つしかない場合、5つのバックアップが割り当てられず、cluster statusがyellowになります.
replicaの役割:1、消去、primaryスライスが失われると、replicaは上に上がって新しいprimaryスライスになり、同時に分局という新しいメインスライスは新しいreplicaを作成します.2、クエリー性能を向上させるため、replicaスライスとprimaryスライスのデータは同じであるため、1つのQuerryに対してメインスライスを調べることができ、スライスを準備することができ、確認範囲内で複数のreplicaの性能がより優れている(ただし、リソース占有を考慮すると[CPU、disk、heap])、またindex requestはメインスライスでしか発生せず、replicaは実行できない.
インデックスの場合、再構築インデックスに出力されます.そうしないと、スライス数は調整できませんが、replica数はいつでも調整できます.
 
Esクラスタ状態:
グリーン:すべてのプライマリ・スライスとスペア・スライスが準備完了(割り当てに成功)で、インスタンスが一時停止してもデータは失われませんがyellow状態になります.
yellow:すべてのプライマリ・スライスが準備されていますが、1つ以上のプライマリ・スライス(Aと仮定)のバックアップ・スライスが準備されていません.この場合、クラスタは警告状態にあり、クラスタの高可用性と災害対応能力が低下することを意味します.ちょうどAが存在するノードが停止し、バックアップが1つしか設定されていません(すでに準備されていません).するとAのデータが失われ(クエリ結果が不完全)、このときクラスタはred状態となる
red:少なくとも1つのプライマリ・スライスが準備されていない(直接的には、対応するバックアップ・スライスが新しいプライマリ・スライスになっていないため)場合、検索結果にデータ損失(不完全)が発生します.