【ES】Elasticsearch 概念相关笔记

Elasticsearch

1. 特性

  • 可拓展高达PB级的结构化和非结构化数据(类和字符串?)
  • 可以用来替代MongoDB和RavenDB等做文档存储
  • 可以用非标准化来提高搜索性能
  • 流行:Wikipedia、The Guardian、StackOverflow、GitHub等
  • 开源:Apache 2.0

2. 概念

  • 节点:单个实例
  • 集群:一个或多个节点的集合,可以为整个数据提供跨节点集合索引和搜索能力
  • 索引:文档、文档属性的集合,使用分片的概念提高性能
  • 类型/映射;
  • 文档:Json格式定义的特定方式的字段集合。每一个文档都是一个类型并且驻留在索引中,每个文档都与唯一标识符(UID)想关联。
  • 碎片:索引被水平分为碎片。
  • 副本:允许用户创建索引和分配的副本。有助于提高可用性,而且可以在副本中执行并行搜索提高速度。

3. 优点

  • 跨平台(Java开发)
  • 低时延(1s内)
  • 分布式,易于集成和拓展
  • 通过Elastic的网关概念,容易创建完整备份
  • 处理多租户容易
  • 响应Json,兼容各个语言
  • 支持大部分文档类型,但不支持文本呈现的文档类型

4. 缺点

  • 处理请求和响应仅支持Json
  • 不可使用CSV、XML等格式
  • 存在一些难遇到的坑

5. 应用场景

  • 搜索框
  • 分析日志(大量数据)
  • 使用机器学习自动建模数据的行为
  • 作为存储引擎自动化工作流
  • 作为地理信息系统管理、集成、和分析空间信息
  • 生物信息学研究工具存储和处理遗传数据
posted @ 2021-09-10 15:15  wosperry  阅读(62)  评论(0编辑  收藏  举报