Elasticsearch 面试题总结
创始人
2024-05-24 13:33:21
0

逻辑设计和物理设计

逻辑设计

  • 索引(Index):类似于 ES 中的一张表,可以通过映射(Mapping)定义索引的结构和设置。
  • 类型(Type):可以对 ES 的索引进一步做划分。ES 7中已经移除类型,建议一个索引一个类型即可。
  • 映射(Mapping):索引结构的定义,包括索引的字段,字段类型,索引的设置等。
  • 文档(Document):索引中的一条记录。

物理设计
Elasticsearch 本身是分布式搜索引擎。它的高可用、高性能就是通过分片实现的。

主分片:一个索引可以划分成多个主分片,通过将主分片分布到不同的ES节点,从而实现高性能。
副本分片:副本分片和主分片保持数据同步,和主分片不能分布在同一个节点,从而实现主分片的读能力的横向扩展,同时保证主分片不可用时实现故障转移。
在这里插入图片描述

倒排索引

传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置。

而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表即为倒排索引。

有了倒排索引,就能实现o(1)时间复杂度的效率检索文章了,极大的提高了检索效率。

在这里插入图片描述

学术的解答方式:

倒排索引,相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分组成--------词典和倒排表。

加分项:倒排索引的底层实现是基于:FST(Finite State Transducer)数据结构。

lucene 从 4+ 版本后开始大量使用的数据结构是 FST。FST 有两个优点:

1、 空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间;

2、 查询速度快。O(len(str)) 的查询时间复杂度。

上一篇:Thread 类及常见方法

下一篇:XGBoost

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...