一:java中的引擎简介
java中的9大引擎框架可以从底层实现分为2个大类:基于lucene实现以及扩展的各式搜索以及Nutch实现可爬虫式的引擎。
我们将主要以lucene作为技术主干。
0.使用场景
当我们在一个实体类中实现多个属性同时查询,一次遍历每一个属性实现like查询,这样不仅繁琐而且特别浪费资源。
1.什么是lucene
lucene是一套全文检索引擎的架构,而不是一个完整的全文检索引擎。简而言之,你可以把它当成一个工具包,可以整合自己的
技术来实现一套完整的全文检索和搜寻额度项目方案。
2.lucene的优势与特点
(1)平台独立性,其基于8字节的索引文件格式,可以使其脱离平台的束缚。
(2)分块检索,区别于传统的倒叙索引,以分块索引实现多线程式的检索。、
(3)面向对象的特性。
(4)应用程式接口,lucene起本省是一个以应用程式接口对外开放,以流方式实现传输。(类似于java的接口,好处。。)
(5)强大的搜索引擎,其本省完成了一套查询,分区查询,模糊查询的查询方式,用户直接调用即可。
二:lucene检索
1.基于luncene的检索分为2个过程: 建立索引和搜索
过程简析为:当有新的查询进入lucenen进行对文件词条分析,生成索引,查询开始检索索引并进行词条解析,产生结果。