Lucene_day01_介绍
Lucene的介绍
什么是Lucene?
是Apache组织下的一个开源的搜索引擎工具包(jar)
为什么要学Lucene?
如果没有索引库,在搜索的时候直接搜索数据库,当数据量庞大的情况,数据库压力变大,查询效率降低
用Lucene的API把数据写入到索引库中,搜索的时候用索引库来搜索,完全隔离了数据库,并且索引库查询效率高
流程对比:
数据查询的方式
顺序扫描法
从上往下,先查询文档再查询文档中的关键字
例如:
word文档中的搜索
倒排索引法
案例:
新华字典
晨————————————3000页
先找目录(索引)中的字
日————————————27页
辰笔画
晨------------3000页
两个文档,每一个文档中都有数据
搜索:do
坐标:
do(1,2)(4,8)
do(2,1)(2)
先查询关键字然后根据关键字中的坐标指定文档
应用场景
- 单机软件的搜索:word,Eclipse
- 站内搜索:只能搜索网站内部的数据
- 垂直领域:只专注于一个行业中的搜索
- 专业领域:百度,Google
实际:咱们去企业中最常用的是站内搜索
相关术语
全文检索(全文索引)
计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置
当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式
Lucene
只要能把你要索引的数据格式转化的文本的,Lucene 就能对你的文档进行索引和搜索
官网
- Apache组织下的一个开源的搜索引擎工具包(jar)
- 是java语言开发的
- 不能独立运行,不是系统,但是jar能制造系统
搜索引擎
- 是搜索系统
- 能独立运行!能放在服务器中独立运行
- 基于Lucene开发的
索引和搜索流程图
1、绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括:
确定原始内容即要搜索的内容à获得文档à创建文档à分析文档à索引文档
2、红色表示搜索过程,从索引库中搜索内容,搜索过程包括:
用户通过搜索界面à创建查询à执行搜索,从索引库搜索à渲染搜索结果