SRE - Public Knowledge Base : Index maken op single Elasticsearch node

 

Bij het creëren van een index op een single Elasticsearch node is het belangrijk dat de "number_of_replicas" correct is ingesteld.
Deze waarde geeft namelijk door naar hoeveel replicatie-instances de data moet gekopieerd worden.
In veel online voorbeelden of templates krijgt "number_of_replicas" standaard de waarde 2 mee.

In het geval van single Elasticsearch setup is het dus niet nodig om de replica hoger dan 0 in te stellen aangezien de "Primary Shard" niet gerepliceerd wordt. Het niet juist instellen van deze waarde zal resulteren in een yellow/warning-status in Elasticsearch.
Let er dus op wanneer je een index aanmaakt, op een single Elasticsearch setup, de "number_of_replicas" op 0 staat.

 

Een voorbeeld hiervan:

$client = ClientBuilder::create()->build();
$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 3,
            'number_of_replicas' => 0 
        ],
        'mappings' => [
            'my_type' => [
                '_source' => [
                    'enabled' => true
                ],
                'properties' => [
                    'first_name' => [
                        'type' => 'string',
                        'analyzer' => 'standard'
                    ],
                    'age' => [
                        'type' => 'integer'
                    ]
                ]
            ]
        ]
    ]
];

// Create the index with mappings and settings now
$response = $client->indices()->create($params);

Extra informatie hieromtrent kan je vinden in de documentatie van Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_index_management_operations.html