es笔记全文搜索倒排索引路由分片理解

Posted dlage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es笔记全文搜索倒排索引路由分片理解相关的知识,希望对你有一定的参考价值。

笔记参考《Elasticsearch技术解析于实战》

Elasticsearch入门知识

对应书本第一章

1.1全文搜索

全文搜索是指计算机搜索程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数位置,查询时根据索引进行查找。

理解:

就是将文章中的关键字提取出来,建立索引,然后查询。类似字典的偏旁部首查询、拼音查询。

在线新华字典部首查询:点我

在线新华字典拼音查询:点我

1.2Luence倒排索引

根据属性值来查找记录。(倒排索引的概念就这一句话)

理解:

一篇文章的倒排索引类似于这个样子,实际的索引比这个复杂的多。

属性值:对应下面的关键词,记录:对应下面的一行数据。

关键词出现的频率出现的位置
roczhang2第三章第二节第五个单词
dlage4第二章第二节第五个单词
张三1第六章第二节第五个单词

当你查到关键词之后,关键词有两个指向它出现频率和出现位置的指针,一下子就找出它的位置了。

理解:

为什么称为倒排索引?

一般我们查找我们需要的知识是这个步骤:先找书,再找我们需要的知识点。倒排索引是把知识点都建立了索引(上表),根据知识点(关键词),我们就能找到在哪本书里面(出现的位置)。

1.3建立倒排索引的步骤

取得关键词:使用ik分词器,将文章里面的关键词提取出来。github链接🔗

建立倒排索引:如上表。

1.4术语及概念

  • 索引词

    一个能够被索引的精确值。上表的关键词。

  • 文本

    文本会被分成一个个的索引词。

  • 分析

    分析是将文本转换成索引词的过程

  • 路由

    具体将文档放到哪个分片中由路由决定

    参考官方文档:点我

  • 分片

    如果一个索引很大,有一个TB的数据,一台服务器存储不下,可以分片存储。每个分片都有完整的功能。

    参考官方文档:点我

  • 主分片

    一个索引有5个主分片,存储一个文档的时候,系统会首先储存在主分片中(存储在哪个主分片中由上述的路由决定)。然后会复制到不同的副本中(备份)。

  • 副本分片

    两个作用:主分片失败时,可以将副本分片设置为主分片。查询可以到副本分片查询(主分片查询压力大的时候)

  • 复制

    主分片使用副本分片时会复制数据到副本分片。

  • 类型

    一个索引中存储两种数据,就是存储两种类型。比如一种博客数据,一种评论数据。

  • 文档

    mysql中表的一行数据

  • 映射

    mysql中的表,定义字段类型用的。

  • 字段

    mysql中的列

  • 来源字段

    原文档被存储在_source这个字段中。成为来源字段

  • 主键

    文件唯一标识。和mysql类似。

我的github链接:点我

ref:https://www.elastic.co/guide/cn/elasticsearch/guide/current/routing-value.html

以上是关于es笔记全文搜索倒排索引路由分片理解的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch入门笔记

Elasticsearch入门笔记

全文搜索基本原理(倒排索引搜索结果排序)

数据库-Elasticsearch进阶学习笔记(分片映射分词器即时搜索全文搜索等)

ES功能浅析

全文搜索Lucene之倒排索引