.NET面试题系列(十三)Lucene底层原理

Posted cnki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET面试题系列(十三)Lucene底层原理相关的知识,希望对你有一定的参考价值。

索引原理

  全文检索技术由来已久,绝大多数都基于倒排索引来做,曾经也有过一些其他方案如文件指纹。倒排索引,顾名思义,它相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分组成——词典和倒排表。

技术分享图片

  其中词典结构尤为重要,有很多种词典结构,各有各的优缺点,最简单如排序数组,通过二分查找来检索数据,更快的有哈希表,磁盘查找有B树、B+树,但一个能支持TB级数据的倒排索引结构需要在时间和空间上有个平衡,下图列了一些常见词典的优缺点:

技术分享图片

FST
  Lucene现在使用的索引结构

技术分享图片

 

以上是关于.NET面试题系列(十三)Lucene底层原理的主要内容,如果未能解决你的问题,请参考以下文章

4个最难的 Elastic Search 面试题

.NET面试题解析(07)-SQL语言基础及数据库基本原理

Hadoop入门(十三)——集群常用知识(面试题)与技巧总结

041期JavaEE面试题(十三):ZooKeeper

iOS一道复合型面试题与底层原理

.net必问的面试题系列之面向对象