La version stable d'ElasticSearch est sortie. Voici les nouveautés qu'elle introduit.
Les nouvelles fonctionnalités sont relayées sur le site d'ElasticSearch ainsi que sur Linuxfr.org.
La sauvegarde est facilitée par l'apparition de l'API_snapshot. À noter que les snapshots sont incrémentaux et que le stockage peut être un système de fichier local ou distant : S3, Azure ou encore HDFS.
Puisque les facets ne permettaient pas le regroupement des documents par type puis par date, l'Aggregations API, introduite dans ElasticSearch 1.0.0, propose deux familles d'agrégateur : regroupement (Bucketing) et calculs (Metric).
La percolation, c'est-à-dire la recherche inversée (la possibilité de rechercher les requêtes correspondant à un document), est maintenant distribuée. Les search snippets, les agrégations et la bulk percolation sont maintenant pris en charge.
Cette API constitue un ensemble de commandes fournissant des informations lisibles pour un être humain (contrairement au format JSON).
Cette nouvelle fonctionnalité permet d'effectuer des requêtes (au sens large) sur plusieurs clusters depuis un nouveau type de nœud tribe se comportant comme nœud client sur tous les clusters enregistrés.
Cette version 1.0.0 introduit une option (à positionner dans le mapping lors de l'indexation), qui permet de stocker la structure fielddata sur disque, une possibilité utile lors des opérations de faceting et de tri impliquant un nombre important de valeurs uniques.
Une fonctionnalité de « disjoncteur » a été mise en place, notamment afin de détecter le chargement d'une trop grande quantité de données de champ dans la mémoire, ce qui risque de causer des exceptions out of memory.
La syntaxe simple_query_string peut maintenant être utilisée au lieu de la syntaxe query string query, la première étant moins sensible aux erreurs de syntaxe que la seconde.
Les performances sont améliorées, de même que la stabilité, et la consommation mémoire est réduite.
Les mots vides sont supprimés par défaut grâce à une nouvelle option dans les requêtes match, cutoff_frequency et un nouveau type de requête common.
Grâce à un jeu de clients officiels maintenus par les développeurs d'Elasticsearch, le moteur de recherche distribué doit être aussi simple à utiliser pour n'importe lequel des langages suivants : JS, Perl, PHP, Python et Ruby.
Par ailleurs, des dépôts deb et rpm ont été mis en place à destination des administrateurs.