全文搜索引擎,索引库
索引 搜索引擎 全文
2023-09-11 14:14:06 时间
全文搜索引擎的工作原理理论上很简单,关键技术就是“分词”,
- “索引库”:使用分词技术把“文档数据”按分词拆分,也就是一个文档拆分为多个分词(一条普通数据拆分为多个词的索引数据)。这个结构就形成了“索引库”,索引库存储的数据就叫索引(索引数据)(所以当普通数据发生变化的时候,与之所对应的索引也要变化,这里就涉及到自动实时更新索引,自动定时更新索引,还是手动更新索引,还有是增量更新索引,还是完全重建索引)。
- 用户输入搜索关键字后,首先需要处理的是这个关键字,需要把这个关键字拆分,拆分的技术还是使用分词拆分,把搜索关键字拆分成一个或者多个有意义的字词。
- 然后用这些字词去“索引库”中查询,此时的like其实是变成等于操作,然后返回结果。说白了全文搜索就是通过对内容分词把like变成等,当然数据的存储结构一般为非结构型数据文档结构。
文本数据:Lucene.Net只能对文本信息进行检索,所以非文本信息要么转换成为文本信息,要么你就死了这条心吧!
分词算法:将一句完整的话分解成若干词汇的算法 常见的一元分词(Lucene.Net内置就是一元分词,效率高,契合度低),二元分词,基于词库的分词算法(契合度高,效率低)...
切词:将一句完整的话,按分词算法切成若干词语
比如:"不是所有痞子都叫一毛" 这句话,如果根据一元分词算法则被切成: 不 是 所 有 痞 子 都 叫 一 毛
如果二元分词算法则切成: 不是 是所 所有 有痞 痞子 子都 都叫 叫一 一毛
如果基于词库的算法有可能:不是 所有 痞子 都叫 一毛 具体看词库
索引库:就是存储索引数据的库,简单的理解成一个提供了全文检索功能的数据库(把需要全文检索的数据存入索引库),见下图所示:
相关文章
- 深入理解 MySQL 索引底层原理
- MySQL · TokuDB · TokuDB索引结构--Fractal Tree
- 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查
- 搜索引擎系列 ---lucene简介 创建索引和搜索初步
- 批量重建不可用索引
- MySQL 索引 是如何提高 查询效率 的?
- Lucene创建索引库代码实现
- 这就是搜索引擎 (豆瓣).html 1.index 第1章 搜索引擎及其技术架构 1 第2章 网络爬虫 12 第3章 搜索引擎索引 36 第4章 索引压缩 76 第5章 检索模型与搜索排序 99
- ython数据分析入门:Pandas层级索引及其统计计算和描述
- Lesson8——Pandas reindex重置索引
- bleve搜索引擎源码分析之索引——mapping真复杂啊
- Elasticsearch索引全生命周期管理一网打尽
- ELK专栏之IK分词器和Java api操作索引--05
- ELK专栏之ES索引-04
- MyBatis-Plus--解决逻辑删除与唯一索引的问题--方法/实例