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