工作中需要用到Lucene6这个全文检索工具,为项目的开发打下基础。花了比较多的时间熟悉了Lucene,原理,一些网上的案例,以及基本的API使用等,在这里给大家分享一下我关于Lucene6.4.1的学习心得。学习流程:网上案例——索引文件格式--创建索引--查询排序等

lucene介绍 :
Lucene是apache旗下的一个子项目,是一个开放源代码的工具包,是一个基础的全文检索引擎的框架,提供了高性能的查询引擎和索引引擎,以及部分文本分析引擎(英文与德文,部分中文)。
在基于它的基础上,还开发出了solr,Elastic Search(ES),Nutch,Katta,Index Tank,Sphinx,hibernate Search,Bobo Search,Summa,Compass,Constellio等较为出名的搜索引擎,并且,他们多为java语言编写。
尽管还有着这样那样的问题,但作为应用最广泛的搜索引擎,lucene自然拥有其自身的优势:
(1)开源搜索引擎,社区发达;
(2)文件格式独特,跨平台和兼容性强;
(3)倒排索引,分块索引,性能极强;
(4)低成本,上手快,足够小项目小公司使用;

学习流程:
(1)首先推荐你看看这篇Lucene6.6.0 案例与学习路线,讲得很详细,罗列了各种需要学习的东西:http://www.cnblogs.com/jetHu/p/7050544.html
(2)首先推荐你看看这篇入门的博文,里边是一个小程序,lucene6能用,上边是一个基本的创建索引和搜索的java代码,你只需要改改文件路径就好。
http://blog.csdn.net/ccdust/article/details/53447890
(3)需要代码的话,这篇博文比较好,能用,3.X,4.5,5等版本的都有,比较了一下lucene的改进,其中,lucene5版本的能跑6:
索引创建:http://blog.csdn.net/zpf336/article/details/45074721
搜索:http://blog.csdn.net/zpf336/article/details/45079319
索引域选项: http://blog.csdn.net/zpf336/article/details/45097975
检查/删除:http://blog.csdn.net/zpf336/article/details/45170965
(4)这个lucene入门教程还能看,你看一下这个大概的类就好。
教程: http://www.yiibai.com/lucene/lucene_indexwriter.html
(5)需要了解lucene内部原理的话,强烈推荐:
详细的:http://www.cnblogs.com/forfuture1978/category/300665.html
简单的:http://blog.csdn.net/ayi_5788/article/details/52131049
(6)API也是需要了解的,建议你去看看APACHE官网读一读Lucene的官方文档,然后再看看核心的API;
(7)这个的代码非常多,也很详细,但是不兼容的有点多
这个网址:http://blog.csdn.net/wuyinggui10000/article/details/45538155

与搜索引擎比较
lucene只是一个索引引擎/查询引擎/部分分析引擎的工具包,不能抓取没有的网页等,而百度或者谷歌的搜索引擎是一个可用的软件,实时性要求更高。
与数据库比较
比如说mySQL,MongoDB这些数据库相比,Lucene可以看成是一个拥有搜索功能的数据库系统,而数据库也有索引,二者有什么不同呢。
(1)功能不同。MongoDB等数据库,主要功能是存储结构化、非结构化数据,数据的写入写出是大头,而Lucene则是强化了了搜索功能弱化了存储功能。
(2)索引的数据结构不同。我们都知道,搜索引擎是采用从关键字到文件/档映射来搜索的,也就是全文搜索,词典和倒排表;而数据库则是采用B树(MySQL(B+树)/MongoDB(B-树)),虽然降低了了树的层次,但还是顺序搜索,不够快。
(3)Lucene有分词引擎,而数据库没有这个功能。

                    希望这些对你有所帮助

Lucene6入门教程(一)简介和学习流程相关推荐

  1. PR2018入门教程02-转换特效学习

    PR2018入门教程02-转换特效学习 1.新建项目 1.1新建素材箱 2.添加转场效果 3.完成输出 1.新建项目 1.1新建素材箱 先导入图片 再添加素材箱 将图片放入素材箱 同理再添加音乐素材箱 ...

  2. [雪峰磁针石博客]数据仓库快速入门教程1简介

    数据仓库是从各种渠道收集和管理数据的技术,可提供有意义的业务洞察,战略性地使用数据. 它用于查询和分析而不是事务处理,是将数据转换为信息并及时向用户提供的过程. 决策支持数据库(数据仓库)与组织的运营 ...

  3. Typescript系列(一):TS入门教程之简介、安装、编译、监听

    一个比java更script的语言,它是js的超集,它是Typescript. 一.typescript是什么? Typescript是javascript的一个超集,主要提供了类型系统和对ES6的支 ...

  4. 【D1N910】正则表达式30分钟入门教程 (一)-学习笔记 实践

    目录 一.正则表达式介绍 二.bilibili正则表达式入口 三.正则表达式入门 四.元字符表 五.字符转义 正常操作,正常分析,大家好,我是D1n910 本文学习自 正则表达式30分钟入门教程 ht ...

  5. 【D1N910】正则表达式30分钟入门教程 (二)-学习笔记 实践

    正常操作,正常分析,大家好,我是D1n910. 本文学习自 正则表达式30分钟入门教程 http://deerchao.net/tutorials/regex/regex.htm 书接上文 六.重复 ...

  6. JavaScript 入门教程||javascript 简介||JavaScript 用法

    javascript 简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...

  7. 谁的python入门教程好_怎样学习Python?Python入门必看

    Python目前可以用一个字来描述那就是"火",问题来了,这么火的语言零基础小白到底该怎样学习Python? 首先,从基础开始学习,切勿毛躁. 刚开始学习Python的时候,我们可 ...

  8. ArcGIS入门教程(矢量编辑工作流程)

    这是我教师弟师妹做项目时给他们做的教程,结合实际项目,给零基础的他们做示范,希望可以帮到入门的同学 新写了一篇新建矢量文件的文章,包括新建shp和数据库gdb格式的矢量,可以帮到刚接触arcgis的同 ...

  9. Direct3D 12入门教程之 ---- Direct3D 12初始化流程

    注:以下内容参考自 书籍:<DirectX 12 3D>游戏开发实战, 微软官方的 DirectX样例程序:DirectX-Graphics-Samples, 参见github链接:htt ...

最新文章

  1. 【JVM】肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!
  2. 从assemblyer Instructure deepth understander C principle
  3. wikioi 1160 蛇形矩阵
  4. 二分查找及一般拓展总结
  5. git - 基础 - 01 - git reset --hard 回滚以后,看不到之前的分支版本怎么解决:
  6. 手机MODEM 开发(33)---SIM卡基础知识
  7. JKD16正式发布,新特新一览
  8. 蓝桥杯 ADV-201 算法提高 我们的征途是星辰大海
  9. Tomcat VirtualWebappLoader 配置
  10. delphi之模拟按键
  11. new方法、定制属性、描述符、装饰器
  12. avast premier 安装文件及许可破解步骤
  13. 蓝桥杯真题 杨辉三角形 C++
  14. 3. react脚手架
  15. SEDANSPOT Detecting Anomalies in Edge Streams阅读记录
  16. 苹果6运行内存是多少_iPhone 12为什么不标注运行内存?安卓转苹果手机是入11还是入12呢?...
  17. kotlin 开发android,Kotlin安卓开发环境搭建
  18. 奇虎360温铭:OpenResty的未来
  19. 详细分析MySQL的日志(一)本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9001061.html
  20. 数据结构--环形队列

热门文章

  1. java —— 统计单词数
  2. Typora 软件修改主题中的字体
  3. 深度学习神经网络NET搜集大全,从神经元到NN,CNN,RNN,AE,VAE,自用[转载]。
  4. 豆豆趣事[2015年10月]
  5. 邮件协议SMTP/POP3/IMAP——应用层
  6. 微信打造智能家居新生活
  7. android架构师之路——修改app字体
  8. 怎样建立产品体系?(四)- 产品组合管理
  9. 在天源迪科TYDIC办理离职。。
  10. proteus出现Can‘t load “C:WINDOWS/TEMP/VSM Studio…/8086/Debug/Debug.exe“问题的解决办法