开发者学堂课程【Lucene 知识精讲与实战(上): 索引和搜索流程简介】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/700/detail/12327
索引和搜索流程简介
整体了解索引和搜索流程
1、创建索引
中间的索引库就是 Lucene,要想从索引库中搜索数据,必须先继承索引。
首先找到数据在原始的这个地方,原始的地方有可能是数据库,也有可能是在文本文档当中,也有可能是来源于互联网,要获得这个原始数据,要通过接触地区,把它给读出来,如果说这个原始数据在文本文档当中,可以通过 I/O 流获得这个文档,要是来源于互联网,可以通过查重方式,来把这个数据查询出来,拿到这个数据之后要构建文档对象,然后分析数据(切分词),最后创建索引。索引流程完成并且存到索引库。
2、搜索流程
用户通过浏览器页面发送一个查询请求到我们的项目,在项目当中有那个查询语法,通过查询语法去到索引库当中去查,查完之后,返回结果到项目当中,项目再把结果和页面进行渲染反馈给用户浏览器。
并非我们查询之前限制索引,得看你是什么网站,如果说是想 Baidu 和 Google 这样的整个互联网引擎,他们的查重方式不休止的像各种网站去查。像京东和 Taobao 这些商业网站是怎么做得呢?它的商品添加完之后要进行审核,上架。
在上架的时候会把这个商品的数据从数据库中提取出来放到索引库当中,通过客户的浏览器就能查到了。
不同的网站索引的时间节点是不一样的,总的来说在搜索之前已经把数据放到索引库当中了,这样查询的速度才快。
索引过程包括:
1)获得文档;
2)创建文档;
3)分析文档;
4)索引文档;