1.什么是Lucene?
lucene是一款高性能,可扩展的信息检索库。lucene能到融入到你的程序当中,比如增加搜索功能。它是以java语言为实现,开源、成熟的软件项目。也是Apache软件基金会下的一个子项目。
2.lecene能做什么?
其实我们在你不知道Lucene的时候已经用过了,比如在淘宝,京东买东西的时候,大部分都是通过搜索得到你想要的结果。当然了,Lucene只是用java写的jar包而已,有的人常常把它与一些搜索程序搞混淆,比如网页搜索器和网页搜索引擎。记住它只是一个软件类库,或者是工具箱,并不是一个完整的搜索程序。Lucene专注文本索引和搜索功能,b并且程序的运行效果还不错。Lucene能让你的应用程序在不了解复杂的索引和搜索的实现下调用简单的api进而达到你想要的搜索。现在很多的网页搜索程序和搜索引擎都是以Lucene为核心来运行的。
并且Lucene还允许你自己向自己的程序中添加搜索的功能,Lucene能够把你从文本中解析出来的数据进行索引和搜索。并且,Lucene并不会关心这些数据的来源、格式等,只要你把他转换成文本格式即可。比如本地文件,xml文件,pdf文档,html文档,或者其他能从中提取出文本信息的数据格式。
说了那么多,其实Lucene就是做索引和搜索的。
3.lucene优点?
应用场景:什么是全文检索:
全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,
指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,
类似于通过字典的检索字表查字的过程 (lucene 不就是做索引的东西.)
Lucene作为一个全文检索引擎,其具有如下突出的优点:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。
(3)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询、分组查询等等。