• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孙龙 程序员
少时总觉为人易,华年方知立业难
博客园    首页    新随笔    联系   管理    订阅  订阅
elasticsearch--高级进阶篇3-倒排索引底层原理

Elasticsearch核心概念

什么是搜索引擎?

  • 全文搜索引擎
  • 自然语言处理(NLP)、爬虫、网页处理、大数据处理 如谷歌、百度、搜狗、必应等等

垂直搜索引擎

  • 有明确搜索目的的搜索行为
  • 各大电商网站、OA、站内搜索、视频网站等

 

搜索引擎应该具备哪些要求?

 面向海量数据,如何达到“搜索引擎”级别的查询效率?

 

数据库的组成结构

 

MySQL的索引结构

 

 

MySQL索引能解决大数据检索的问题吗?

1、索引往往字段很长,如果使用B+trees,树可能很深,IO很可怕

2、索引可能会失效

3、精准度差

 

Lucene简介

  • Lucene是一个成熟的全文检索库,由Java语言编写,具有高性能、可伸缩的特点,并且开源、免费。
  • Lucene的作者Doug Cutting是资深的的全文检索专家,Lucene最开始发布在他本人的主页上,2001年10月贡献给Apache,成为Apache基金会的一个子项目。
  • Lucene是一个IR库(Information Retrieval library)。后来才由Shay Banon在其基础上开发了Elasticsearch

 

全文检索

全文检索:索引系统通过扫描文章中的每一个词,对其创建索引,指明在文章中出现的次数和位置,当用户查询时,索引系统过就会根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式

 

倒排索引的原理

 

 

倒排索引的数据结构

 

 

倒排索引核心算法

 

 

倒排索引的的压缩算法

 

3-2~3-3 FOR和RBM压缩算法

 Trie以及FST原理

 FST在Lucene的构建过程

 tip和tim的文件内部结构

 FST在Lucene的实现原理

 

本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/17399618.html

posted on 2023-05-14 17:01  孙龙-程序员  阅读(107)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3