English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Elasticsearch est un serveur de recherche basé sur Apache Lucene. Il a été développé par Shay Banon et2010édité. Actuellement maintenu par Elasticsearch BV. Sa dernière version est7.0.0.
Elasticsearch est un moteur de recherche et d'analyse de texte distribué open source en temps réel. Il peut être accédé via une interface de service web RESTful et utiliser des documents JSON (JavaScript Object Notation) sans modèle pour stocker des données. Construit en Java, Elasticsearch peut s'exécuter sur différentes plateformes. Il permet aux utilisateurs de naviguer à haute vitesse dans de grandes quantités de données.
Les caractéristiques courantes d'Elasticsearch sont les suivantes-
Elasticsearch peut être étendu jusqu'à PB de données structurées et non structurées.
Elasticsearch peut remplacer MongoDB et RavenDB pour le stockage de documents.
Elasticsearch utilise la non-normalisation pour améliorer les performances de recherche.
Elasticsearch est l'un des moteurs de recherche d'entreprise populaires, actuellement utilisé par de nombreuses grandes organisations telles que Wikipedia, The Guardian, StackOverflow, GitHub, etc.
Elasticsearch est un code source open source, disponible sous la licence Apache.2sous la version 0.0.
Les concepts clés d'Elasticsearch sont les suivants-
Cela fait référence à une instance unique de fonctionnement d'Elasticsearch. Un serveur physique et virtuel peut容纳多个节点, cela dépend de leur capacité physique (comme la RAM, le stockage et la capacité de traitement).
C'est une collection de nœuds. Le cluster fournit des fonctionnalités d'indexation et de recherche collectives pour toutes les données à travers tous les nœuds.
C'est une collection de documents de différents types et de leurs propriétés. L'index utilise également le concept de fragment pour améliorer les performances. Par exemple, un ensemble de documents contient des données d'applications de réseaux sociaux.
C'est une collection de champs définis d'une manière spécifique au format JSON. Chaque document appartient à un type et se trouve dans l'index. Chaque document est associé à un identifiant unique appelé UID.
Les index sont divisés en fragments horizontalement. Cela signifie que chaque fragment contient toutes les propriétés des documents, mais le nombre d'objets JSON qu'il contient est inférieur à celui de l'index. La séparation horizontale rend chaque fragment un nœud indépendant, qui peut être stocké sur n'importe quel nœud. Le fragment principal est la partie horizontale originale de l'index, puis ces fragments principaux sont copiés dans les fragments de copies.
Elasticsearch permet aux utilisateurs de créer des copies d'index et de fragments. La copie n'aide non seulement à améliorer la disponibilité des données en cas de défaillance, mais améliore également les performances de recherche en exécutant des opérations de recherche parallèles sur ces copies.
Elasticsearch est développé en Java, ce qui le rend compatible avec presque toutes les plateformes.
Elasticsearch est en temps réel, autrement dit, un document ajouté une seconde après peut être recherché dans ce moteur.
Elasticsearch est distribué, donc il peut être étendu et intégré facilement dans n'importe quelle grande organisation.
Il est très simple de créer des sauvegardes complètes en utilisant le concept de gateway, ce concept est très courant dans Elasticsearch.
Comparé à Apache Solr, il est très facile de gérer les multi-locataires dans Elasticsearch.
Elasticsearch utilise des objets JSON en tant que réponses, ce qui permet d'utiliser une grande variété de langages de programmation différents pour appeler le serveur Elasticsearch.
En plus de ne pas prendre en charge les types de documents de rendu de texte, Elasticsearch prend en charge presque tous les types de documents.
En ce qui concerne le traitement des demandes et des réponses de données, Elasticsearch ne fournit pas de support multilingue (disponible uniquement en JSON), contrairement à Apache Solr, qui peut gérer les formats CSV, XML et JSON.
有时,Elasticsearch会出现脑裂情况的问题。
在Elasticsearch中,索引类似于RDBMS(关系数据库管理系统)中的表。每个表都是行的集合,就像每个索引都是Elasticsearch中的文档的集合一样。
下表对这些术语进行了直接比较-
Elasticsearch | 关系数据库管理系统(RDBMS) |
---|---|
群集 | Database |
碎片 | 碎片 |
索引 | 表 |
字段 | 列 |
文档 | 行 |