ElasticSearch面试题

ElasticSearch基于Lucene,利用倒排索引实现高效搜索。倒排索引通过分词、去除标点和停词等预处理,创建词典并排序,支持keyword(不分词,适合精确查询)和text(分词,适合全文搜索)两种字段类型。ElasticSearch还提供分布式的实时文件存储和RESTfulAPI,适用于大规模数据搜索和分析。
摘要由CSDN通过智能技术生成
  1. ElasticSearch的倒排索引是什么?
    1. 倒排索引的底层是通过FST数据结构实现的,是通过分词策略,对词和文章映射产生映射关系表,词典加映射关系表就是倒排索引,
  2. Lucene创建索引的原理
    1. Lucene创建索引是基于倒排索引原理实现的
      1. 首先将原文档进行分词处理,形成一个个单独的单词
      2. 然后取出标点符号以及停词,形成词元
      3. 词元进行转换小写
      4. 将得到的词创建一个词典,按照字母顺序排序,并合并相同的词,最终形成一个倒排索引文档。
  3. ES的keyword和text的区别
    1. keyword:不分词,直接建立索引,支持模糊查询,精确查询,聚合查询:通常用来保存手机号,年龄,名字等需要直接保存完整数据的场景
    2. text:分词后建立索引,不支持聚合查询,通常用来储存全文搜索的数据,例如地址,文章内容。
  4. ES的优势
    1. 是基于Lucene的开源搜索引擎,它解决了原生的Lucene使用的不足,优化了Lucene的调用方式。
    2. 分布式的实时文件存储,每个字段都被索引并可被搜索
    3. 支持实时分析搜索
    4. 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
    5. 通过简单的 RESTful API、可以跟各种语言的客户端甚至命令行进行交互
    6. 上手非常容易,只需很少的学习就可以在生产环境中使用
  5. 倒排索引的创建流程;
    1. 首先将原文档进行分词处理,形成一个个单独的单词
    2. 然后取出标点符号以及停词,形成词元
    3. 词元进行转换小写
    4. 将得到的词创建一个词典,按照字母顺序排序,并合并相同的词,最终形成一个倒排索引文档。
  6. Es/Lucene为什么这么快
    1. ES是基于Lucene的全文检索引擎,它采用的是倒排索引结构,在存储时先对文档进行分词,再做一些标点符号去除,大小写时态转换等优化处理,最后按照字母顺序去重排序,形成一个倒排索引文档,我们在检索时,就可以通过二分查找的方式找到目标值。
  7. Es用到了什么数据结构:
    1. Es用到了数据索引存储结构,底层是基于倒排索引实现的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值