Elasticsearch

Permet d’indexer un grand volume de données en vue d’y faire de la recherche full text.

Déploiement

Quelques bonnes pratiques :

  • Désactiver le swap car il peut causer des instabilités. On peut soit désactiver le swap totalement, soit configurer vm.swappiness pour empêcher le kernel de swapper dans des circonstances normales. La dernière option est de passer l’option bootstrap.memory_lock à true 1
  • Configurer un nom pour le noeud : node.name: "hostname"

Pour voir la santé du cluster :

GET _cat/health?v

Index

Un index est l’équivalent dans le monde d’ElasticSearch à une base de données.

Lister les index :

GET _cat/indices?v

Ouvrir et fermer des index :

POST logging-2019.06.27/_open
POST logging-2019.06.27/_close

Configurer les index :

PUT /_all/_settings
{
  "index.number_of_replicas": "0",
  "index.queries.cache.enabled": false
}
  • index.number_of_replicas : nombre de réplicas de l’index
  • index.queries.cache.enabled : active le cache des requêtes (activé par défaut). Note : désactiver l’option quand il y a peu de lecture des données (exemple : sauvegarde de logs)

Templates

Les templates permettent de prédéfinir des options et des mappings qui viendont s’appliquer lors de la création d’un index.

PUT _template/logging
{
  "index_patterns": ["logging-*"],
  "settings" : {
    "number_of_shards" : 3,
    "number_of_replicas": 0,
    "queries.cache.enabled": false
  }
}

  1. Elasticsearch Reference - Disable swapping ↩︎