Elasticsearch系列(1):认识Elasticsearch

官方定义

Elasticsearch 是一个 实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作 全文检索、结构化搜索、分析以及这三个功能的组合。Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。它可以被这样准备地形容:一个分布式的实时文档存储,每个字段 可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

使用案例

Wikipedia 使用 Elasticsearch 提供带有高亮片段的全文搜索,还有 search-as-you-type 和 did-you-mean 的建议。卫报 使用 Elasticsearch 将网络社交数据结合到访客日志中,实时的给它的编辑们提供公众对于新文章的反馈。Stack Overflow 将地理位置查询融入全文检索中去,并且使用 more-like-this 接口去查找相关的问题与答案。GitHub 使用 Elasticsearch 对1300亿行代码进行查询。

整体架构

如下图:

elastic架构图

从以下架构图大概可以了解以下几点:

Elasticsearch底层是基于Lucene的。与用户交互是通过RESTful API来实现的。

基本概念

如下图:

elastic基本概念

1,Cluster(集群)与Node(节点)

Cluster(集群):

在一个分布式系统里面,可以通过多个elasticsearch运行实例组成一个集群,这个集群里面有一个节点叫做主节点(master),elasticsearch是去中心化的,所以这里的主节点是动态选举出来的,不存在单点故障。

在同一个子网内,只需要在每个节点上设置相同的集群名,elasticsearch就会自动的把这些集群名相同的节点组成一个集群。节点和节点之间通讯以及节点之间的数据分配和平衡全部由elasticsearch自动管理。

在外部看来elasticsearch就是一个整体。

Node(节点):

每一个运行实例称为一个节点,每一个运行实例既可以在同一机器上,也可以在不同的机器上。所谓运行实例,就是一个服务器进程,在测试环境中可以在一台服务器上运行多个服务器进程,在生产环境中建议每台服

器运行一个服务器进程。

2,Index(索引)

类似于sql server中的数据库(database)。

3,Type(类型)

类似于sql server中的数据表(table),es可以在一个Index中建立多个Type,其中每个Type中的数据结构可以是不同的,然后通过mapping进行映射。

4,Document(文档)

类似于sql server中的行(row),es中存储的数据是文档型的, 一条数据对应一个文档即相当于sql server中的一行,一个document可以有多个字段。

5,Field(字段)

类似于sql server数据表中的列(column)。

6,Mapping(映射)

类似于sql server中的schema。

7,Query DSL

类似于sql server中的sql语句,只不过在es中使用JSON格式的查询语句,专业术语就叫:Query DSL

8,PUT/POST/DELETE/GET

RESTful API,分别对应新增,修改,删除和查询。

转载于:https://www.cnblogs.com/mcgrady/p/Elasticsearch%E7%B3%BB%E5%88%97.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值