ElasticSearch初识

目录

  • ElasticSearch
    • ElasticSearch概念
      • 1.es基本概念
      • 2.es如何实现高可用
      • 3.倒排索引

ElasticSearch

ElasticSearch概念

1.es基本概念

  • index索引:es中存储数据的基本单位是索引,所有的数据存入对应的索引。类似一个数据库。在数据数据库中有很多类型的表。所以索引是最基本的单位。
  • type类型:一个索引中有多个类型。例如在订单index中,建立两个type,一个是实物商品订单type,一个是虚拟商品订单type,这两个type大部分字段是一样的,少部分字段是不一样的。这就类似于数据中的表。index为数据库,type是表,一个数据库中可以有多个表,所以可以有多个type。
  • mapping:有了类型之后,还得有表,表的定义是由表结构制定的。所以,在type中mapping即是表结构。
  • document :在type中写入一条数据,称为一条document,document就类似于表中的一条数据,里面有多个字段的值。

2.es如何实现高可用

在es中索引可以拆分为多个shard,每个shard存储部分数据。
ES 集群多个节点,会自动选举一个节点为 master 节点,这个 master 节点其实就是干一些管理的工作的,比如维护索引元数据、负责切换 primary shard 和 replica shard 身份等。要是 master 节点宕机了,那么会重新选举一个节点为 master 节点。

如果是非 master 节点宕机了,那么会由 master 节点,让那个宕机节点上的 primary shard 的身份转移到其他机器上的 replica shard。接着你要是修复了那个宕机机器,重启了之后,master 节点会控制将缺失的 replica shard 分配过去,同步后续修改的数据之类的,让集群恢复正常

3.倒排索引

在搜索引擎中,每个文档都有一个对应的文档ID,文档内容被表示为一系列关键词的集合。例如:文档1经过分词,提取到了20个关键词,每个关键词都会记录它在文档中出现的次数和出现的位置。

  • 倒排索引中的所有词项对应一个或多个文档;
  • 倒排索引中的词项根据字典顺序升序排列
上一篇:房产销售平台|基于Spring cloud+ Mysql+Java+ Tomcat的房产销售平台设计与实现(可运行源码+数据库+设计文档)


下一篇:python 教你如何创建一个自定义库 colorlib.py