SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Lucene 漫谈 -- 入门及介绍 ZekChang Twitter:@ZekChang Mail:zekchang@gmail.com
Outline ,[object Object],[object Object],[object Object],[object Object]
Part One :什么是 Lucene
Keywords ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object]
History ,[object Object],[object Object],[object Object],[object Object]
Tip: Lucene VS Nutch ,[object Object],[object Object],[object Object]
Part Two : Lucene 能做什么
Lucene 的创新   Lucene 其他开源全文检索系统 增量索引和批量索引 可以进行 增量的索引 ( Append) ,可以对于大量数据进行批量索引,并且接口设计用于优化批量索引和小批量的增量索引。 很多系统只支持批量的索引,有时数据源有一点增加也需要重建索引。 数据源 Lucene 没有定义具体的数据源,而是一个文档的结构,因此可以 非常灵活的适应各种应用 (只要前端有合适的转换器把数据源转换成相应结构), 很多系统只针对网页,缺乏其他格式文档的灵活性。 索引内容抓取 Lucene 的文档是由 多个字段 组成的,甚至可以控制那些字段需要进行索引,那些字段不需要索引,近一步索引的字段也分为需要分词和不需要分词的类型:    需要进行分词的索引,比如:标题,文章内容字段    不需要进行分词的索引,比如:作者 / 日期字段 缺乏通用性,往往将文档整个索引了
Lucene 的创新 语言分析 通过 语言分析器的不同扩展实现 : 可以过滤掉不需要的词: an the of  等, 西文语法分析:将 jumps jumped jumper 都归结成 jump 进行索引 / 检索 非英文支持:对亚洲语言,阿拉伯语言的索引支持 缺乏通用接口实现 查询分析 通过查询分析接口的实现,可以 定制自己的查询语法规则 : 比如: 多个关键词之间的  + - and or 关系等   并发访问 能够 支持多用户 的使用  
本质
来一点想象: ,[object Object],[object Object],[object Object],[object Object]
Performance
Powered By Lucene http://wiki.apache.org/jakarta-lucene/PoweredBy
Part Three : Lucene In Action !
几个重要概念 ,[object Object],[object Object],[object Object],[object Object]
几个重要概念 ,[object Object],[object Object],[object Object],[object Object]
工作方式  
Lucene 的结构 ,[object Object],[object Object],[object Object]
Core 的组成 对于外部应用来说, 索引模块 (index) 、检索模块 (search) 是主要的外部应用入口
Core 的组成 ,[object Object],[object Object],[object Object],[object Object]
Core 的组成 ,[object Object],[object Object],[object Object]
简单实践 1-- 建立索引 建立索引的最简单的代码
简单实践 2-- 尝试搜索 尝试搜索的最简单的代码
简单实践 3--Hack The Analyzer 内置的 StandardAnalyzer 对于中英文字符流的实际处理测试
简单实践 4-- 中文分词改进 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Part Four :一个简单的搜索引擎
Really Simple ,[object Object],[object Object],[object Object],[object Object],[object Object]
More… ,[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you!
Q&A
Reference ,[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Ähnlich wie Lucene漫谈

搜索技术分享
搜索技术分享搜索技术分享
搜索技术分享endless_yy
 
elastic search分析与实践
elastic search分析与实践elastic search分析与实践
elastic search分析与实践williams2014
 
Java面试笔试题大汇总
Java面试笔试题大汇总Java面试笔试题大汇总
Java面试笔试题大汇总yiditushe
 
第五章-2
第五章-2第五章-2
第五章-2jxhtq
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Actionyiditushe
 
Elasticsearch 簡介
Elasticsearch 簡介Elasticsearch 簡介
Elasticsearch 簡介Pei-Hsun Kao
 
第五章-1
第五章-1 第五章-1
第五章-1 jxhtq
 
資源探索服務之功能評估指標
資源探索服務之功能評估指標資源探索服務之功能評估指標
資源探索服務之功能評估指標皓仁 柯
 
Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南HonestQiao
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1YI-CHING WU
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch IntroductionTsungWei Hu
 
Java相关基础知识
Java相关基础知识Java相关基础知识
Java相关基础知识yiditushe
 
Fast Esp搜索系统
Fast Esp搜索系统Fast Esp搜索系统
Fast Esp搜索系统xiaochawan
 
第三章
第三章第三章
第三章jxhtq
 
必备的 Java 参考资源列表
必备的 Java 参考资源列表必备的 Java 参考资源列表
必备的 Java 参考资源列表wensheng wei
 
Introduction the Repository Pattern
Introduction the Repository PatternIntroduction the Repository Pattern
Introduction the Repository PatternBill Lin
 

Ähnlich wie Lucene漫谈 (20)

Lucene实践
Lucene实践Lucene实践
Lucene实践
 
搜索技术分享
搜索技术分享搜索技术分享
搜索技术分享
 
elastic search分析与实践
elastic search分析与实践elastic search分析与实践
elastic search分析与实践
 
Java面试笔试题大汇总
Java面试笔试题大汇总Java面试笔试题大汇总
Java面试笔试题大汇总
 
第五章-2
第五章-2第五章-2
第五章-2
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
 
Elasticsearch 簡介
Elasticsearch 簡介Elasticsearch 簡介
Elasticsearch 簡介
 
Kevenjiaoda
KevenjiaodaKevenjiaoda
Kevenjiaoda
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
第五章-1
第五章-1 第五章-1
第五章-1
 
資源探索服務之功能評估指標
資源探索服務之功能評估指標資源探索服務之功能評估指標
資源探索服務之功能評估指標
 
Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
 
Java相关基础知识
Java相关基础知识Java相关基础知识
Java相关基础知识
 
Fast Esp搜索系统
Fast Esp搜索系统Fast Esp搜索系统
Fast Esp搜索系统
 
第三章
第三章第三章
第三章
 
必备的 Java 参考资源列表
必备的 Java 参考资源列表必备的 Java 参考资源列表
必备的 Java 参考资源列表
 
Introduction the Repository Pattern
Introduction the Repository PatternIntroduction the Repository Pattern
Introduction the Repository Pattern
 

Lucene漫谈

  • 1. Lucene 漫谈 -- 入门及介绍 ZekChang Twitter:@ZekChang Mail:zekchang@gmail.com
  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Part Two : Lucene 能做什么
  • 9. Lucene 的创新   Lucene 其他开源全文检索系统 增量索引和批量索引 可以进行 增量的索引 ( Append) ,可以对于大量数据进行批量索引,并且接口设计用于优化批量索引和小批量的增量索引。 很多系统只支持批量的索引,有时数据源有一点增加也需要重建索引。 数据源 Lucene 没有定义具体的数据源,而是一个文档的结构,因此可以 非常灵活的适应各种应用 (只要前端有合适的转换器把数据源转换成相应结构), 很多系统只针对网页,缺乏其他格式文档的灵活性。 索引内容抓取 Lucene 的文档是由 多个字段 组成的,甚至可以控制那些字段需要进行索引,那些字段不需要索引,近一步索引的字段也分为需要分词和不需要分词的类型:    需要进行分词的索引,比如:标题,文章内容字段    不需要进行分词的索引,比如:作者 / 日期字段 缺乏通用性,往往将文档整个索引了
  • 10. Lucene 的创新 语言分析 通过 语言分析器的不同扩展实现 : 可以过滤掉不需要的词: an the of 等, 西文语法分析:将 jumps jumped jumper 都归结成 jump 进行索引 / 检索 非英文支持:对亚洲语言,阿拉伯语言的索引支持 缺乏通用接口实现 查询分析 通过查询分析接口的实现,可以 定制自己的查询语法规则 : 比如: 多个关键词之间的 + - and or 关系等   并发访问 能够 支持多用户 的使用  
  • 12.
  • 14. Powered By Lucene http://wiki.apache.org/jakarta-lucene/PoweredBy
  • 15. Part Three : Lucene In Action !
  • 16.
  • 17.
  • 19.
  • 20. Core 的组成 对于外部应用来说, 索引模块 (index) 、检索模块 (search) 是主要的外部应用入口
  • 21.
  • 22.
  • 23. 简单实践 1-- 建立索引 建立索引的最简单的代码
  • 24. 简单实践 2-- 尝试搜索 尝试搜索的最简单的代码
  • 25. 简单实践 3--Hack The Analyzer 内置的 StandardAnalyzer 对于中英文字符流的实际处理测试
  • 26.
  • 28.
  • 29.
  • 31. Q&A
  • 32.