一、ELASTIC SEARCH

0、简介
mysql用作持久化存储,ES用作检索
基本概念:index库>type表>document文档

  1. index索引

    动词:相当于mysql的insert
    名词:相当于mysql的db

  2. Type类型

    在index中,可以定义一个或多个类型
    类似于mysql的table,每一种类型的数据放在一起

  3. Document文档
    保存在某个index下,某种type的一个数据document,文档是json格式的,document就像是mysql中的某个table里面的内容。每一行对应的列叫属性

image.png

es6版本之后去除type的原因

关系型数据库中两个数据表示是独立的,即使他们里面有相同名称的列也不影响使用,但ES中不是这样的。elasticsearch是基于Lucene开发的搜索引擎,而ES中不同type下名称相同的filed最终在Lucene中的处理方式是一样的。

  • 两个不同type下的两个user_name,在ES同一个索引下其实被认为是同一个filed,你必须在两个不同的type中定义相同的filed映射。否则,不同type中的相同字段名称就会在处理中出现冲突的情况,导致Lucene处理效率下降。
  • 去掉type就是为了提高ES处理数据的效率。
  • Elasticsearch 7.xURL中的type参数为可选。比如,索引一个文档不再要求提供文档类型。
  • Elasticsearch 8.x不再支持URL中的type参数。
    解决:将索引从多类型迁移到单类型,每种类型文档一个独立索引
最后修改:2021 年 07 月 05 日
如果觉得我的文章对你有用,请随意赞赏