`
BuN_Ny
  • 浏览: 82873 次
  • 来自: 济南
社区版块
存档分类
最新评论

7) 第二章 索引:理解Lucene索引过程

阅读更多

 

    Lucene索引的API非常简单,然而在其简易的API背后,它做了许多有趣的、相对复杂的操作。我们可以明确得将这些操作分为三条:抽取文本(extract text);分析(analysis);索引(index)。

 

1. 抽取文本并创建文档(document)

    在用Lucene索引数据之前,必须先将其抽取为纯文本。第一章的例子中我们索引了扩展名为 .txt 的文件,它们很容易被索引。然而事情并非总是如此简单,如果我们要索引的数据来自PDF文件,或者是XML,又或是Microsoft Word文档,那么,我们必须先从中抽取出纯文本才能够用Lucene对其进行索引。好在事情不算复杂,同为开源框架的Tika可以帮我们高效的完成此项工作。

 

2. 分析

    在为索引文件增加docuemt之前,Lucene会先进行一步操作:分析。分析的目的是将原文数据拆分成若干词元(token),同时进行一些可选操作,如:大小写转换,过滤"停词"等。

 

3. 索引

    经过"分析"后的数据,就可以被索引了。Lucene采用反向索引(inverted index)的结构存储索引数据,反向索引也是现代web搜索引擎的核心。

 

4. 索引文件

    Lucene的索引文件设计的非常精妙,它需要专门的话题来讨论。

 

 

 

分享到:
评论

相关推荐

    lucene索引结构与时空优化

    第一章 Lucene是个倒排索引 第二章 Lucene与数据库 第三章 Lucene的索引建立及文件结构 第四章 Lucene的检索机制及文档得分 第五章 Lucene的存储优化 第六章 Lucene的效率优化 第七章 用Lucene加快web开发!

    Lucene 3.6 学习笔记

    第二章 索引建立 3 2.1 创建Directory 3 2.2 创建Writer 3 2.3 创建文档并且添加索引 4 2.4 查询索引的基本信息 5 2.5 删除和更新索引 5 (1) 使用writer删除 5 (2) 使用reader删除 5 (3) 恢复删除 5 (4) 彻底删除 6 ...

    开发自己的搜索引擎lucene and heritrix

    Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:直接在Eclipse中选取...

    Heritrix lucene开发自己的搜索引擎(源码)1

    Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:直接在Eclipse中选取...

    lucene学习总结_博客记录1

    第一章:全文检索的基本原理 10一、总论 10二、索引里面究竟存些什么 13三、如何创建索引 14第一步:一些要索引的原文档(Document)。第二步:将原文

    Heritrix lucene开发自己的搜索引擎(源码)3

    Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:直接在Eclipse中选取...

    Lucene 原理与代码分析完整版1

    第一章:全文检索的基本原理 10一、总论 10二、索引里面究竟存些什么 13三、如何创建索引 14第一步:一些要索引的原文档(Document)。第二步:将原文

    Lucene 原理与代码分析完整版.pdf

    第二步:将原文档传给分次组件(Tokenizer)。 ................................................................... 14 第三步:将得到的词元(Token)传给语言处理组件(Linguistic Processor)。 .....................

    JAVA WEB典型模块与项目实战大全.part1(第一卷)

    第9章 搜索索引(Lucene+Web Spider) 第10章 在线网上支付(JSP+Swrvlet+JavaBean) 第11章 JavaWeb邮件发送系统(JSP+Servlet+JavaBean) 第12章 网络留言板(JSP+Servlet+JavaBean) 第13章 网络留言板续——...

    JAVA WEB典型模块与项目实战大全.part2(第二卷)

    第9章 搜索索引(Lucene+Web Spider) 第10章 在线网上支付(JSP+Swrvlet+JavaBean) 第11章 JavaWeb邮件发送系统(JSP+Servlet+JavaBean) 第12章 网络留言板(JSP+Servlet+JavaBean) 第13章 网络留言板续——...

    Java搜索引擎的研究与实现(含文档+源码)

    Java搜索引擎的研究与实现(含文档+源码) 目录 1 摘要 3 第一章 引言 4 第二章 搜索引擎的结构 5 2.1系统概述 5 2.2搜索引擎的构成 5 2.2.1网络机器人 5 2.2.2索引与搜索 5 2.2.3 Web...

    基于java搜索引擎源码

    第二章 搜索引擎的结构 5 2.1系统概述 5 2.2搜索引擎的构成 5 2.2.1网络机器人 5 2.2.2索引与搜索 5 2.2.3 Web服务器 6 2.3搜索引擎的主要指标及分析 6 2.4小节 6 第三章 网络机器人 7 3.1什么是网络机器人...

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

    第二部分(第3~4章)首先讲解了如何启用开发模式,然后详细讲解了公众平台的消息接口(包括请求校验、请求消息、事件推送和响应消息)。 第三部分(第5~6章)重点介绍了公众平台的自定义菜单接口和高级接口,并...

    基于SSH架构的在线答疑系统.doc

    第二章 相关技术介绍 5 2.1 J2EE技术 5 2.2 MyEclipse开发环境 5 2.3 Tomcat应用服务器 6 2.4 MySQL数据库 6 2.5 J2EE平台上的框架分析 7 2.5.1框架的引入 7 2.5.2 Struts框架 7 2.5.3 Spring框架 9 2.5.4 Hibernate...

    海量分布式日志检索技术的研究.nh

    第二章日志检索引擎的选择.............................................................................……12 2.1检索引擎概述................................................................................

Global site tag (gtag.js) - Google Analytics