2016-06-07 5 views

Antwort

2

Jede Elasticsearch-Einstellung, die mit index. beginnt, ist als Einstellung auf Indexebene gedacht, dh für jeden Index (z. B. in einer Vorlage). Jede Einstellung, die mit indices. beginnt, ist eine Einstellung auf Clusterebene, dh elasticsearch.yml.

Vor Elasticsearch 5,0 (nicht zum Zeitpunkt des Schreibens veröffentlicht) Sie index. -Typs Einstellungen im elasticsearch.yml einstellen können, aber das ist trappy Verhalten, weil Sie es in einer Datei zu setzen vergessen könnten.

Also, legen Sie es in den Index-Einstellungen:

PUT /my-index/_settings 
{ 
    "index.merge.scheduler.max_thread_count" : 1 
} 

Sie es für alle bestehenden Indizes setzen könnte:

PUT /_settings 
{ 
    "index.merge.scheduler.max_thread_count" : 1 
} 

Eine häufig gestellte Frage ist: Warum ist das nicht ein global Rahmen? Es Art ist, weil Sie eine globale Vorlage setzen diese Art von Eigenschaften zu steuern:

PUT /_template/my_default_settings 
{ 
    "template" : "*", 
    "settings" : { 
    "number_of_shards" : 2, 
    "index.merge.scheduler.max_thread_count" : 1 
    } 
} 

Aber noch wichtiger ist, durch einen Index-Level-Einstellung ist, ermöglicht es Ihnen, es dynamisch als Hardware-Änderungen an den Knoten zu ändern dass der Index weiterlebt. Wenn zum Beispiel der Index erstellt wird, muss er wahrscheinlich am häufigsten geschrieben werden, aber im Laufe der Zeit wird er möglicherweise nicht so häufig geschrieben und kann daher zu größeren, aber langsameren Knoten verschoben werden, an denen der Merge-Scheduler arbeiten muss kontrolliert werden. In einem solchen Beispiel möchten Sie nur die Anzahl der Threads nach dem Verschieben festlegen, damit der theoretisch schnellere (aber kleinere) Computer so schnell wie möglich zusammengeführt werden kann.

+0

Vielen Dank. Sie finden es auch hier https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html Wenn Sie Spinning Media anstelle von SSD verwenden, müssen Sie dies zu Ihrem Elasticsearch hinzufügen. yml: index.merge.scheduler.max_thread_count: 1 –