`
haofeng82
  • 浏览: 145037 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

LUCENE读书笔记 20070702

阅读更多
2007-7-2
突然想学LUCENE了,不知为什么,就是想学了,为了防止半途而废,决定写读书笔记,大家监督。
(初学者写的,切记不可当教程看,不准的。本不想发在blog,但实在没时间整别的了,还是发了吧)
LUCENE是什么?
Lucence 是一种全文检索工具,它按照一定的规则去创建文件索引,然后再按照一定的规则根据索引进行数据的查找,目的是提高查询速度(但为了创建索引也耗费了额外的存储空间)
以下是读书笔记,是根据ajax in action和征服ajax做的笔记。以备日后复习交流。
在写笔记之前其实已经看过ajax in action 了,但由于当时看的是英文版本并且2.0已经发布,所以没愿意做笔记;现在发现2.0的资料太少,不容易学习,还是决定先根据1.43来学习。毕竟自己还没达到那种没有资料就可以学习的水平…………,够用就好
今天看了征服ajax的前几章(第八章和第九章),感觉这两章主要是举了几个例子,由于以前接触过,马虎一看而过,因为真正的祥解是从第十章开始的。
这里大体总结一下lucence的机制,
用lecence进行全文检索,是通过两个步骤来完成的:创建索引和根据索引查询。仅此而已,简单吗? 听起来简单,做个测试例子也不难,但真正要用到项目中并产生作用就有些难度了,因为需要做很多的额外工作。以前用过trs,感觉他们实现的不错,但毕竟是收费的产品,还是自己能实现的好啊。
索引的创建
开始了,现在开始创建索引,没办法,不创建索引你怎么去根据索引去查询? 所以得从它开始啃了。
1 索引的建立过程
建立索引一般是经过下面几个步骤的:
A 提取数据:为啥子要提取数据?因为lucence没你想的那么聪明,什么样的格式都能读取出来,都能认识。看了征服ajax的第九章的例子,被索引的文件格式好像是txt的,就是说纯文本文件的东西可以读取出来,别的嘛,就得另说了阿.按照它的说法,得需要给每一种文档格式都写一中数据分析器(按照lucence的说法好像叫做Parser,也不知道好写不?)
写到这,好风忍不住想说两句,其实我们现在做的项目,其实大多数是从数据库里读取的数据并查询的,从文件里读取的还是少数吧?就算是从文件里读取数据的话,我们也可以用一些现有的工具去读取数据,如poi等。就是说,我们可以利用现有的工具去获取各种格式的数据(从数据库里读取数据也可以看作是一种格式,只不过是利用jdbc去读取哦)
就是说,如果lucence的Parser不好写或者根本就没这么个东西(我现在认为他是一个接口),我们可以去自己写,凡只需要返回纯文本数据就成了呗。写个接口,创建Paser类返回同样的数据就可以阿(好风模式学的不好,不知道做起来能不能这么简单)。
B 创建Document :
这个东西嘛,根据我现在的理解就相当于数据库里的一行,一条记录。
查询出的结果是以他为最小单位的好像。里面有既然是一行,那么就应该有列喽(或者叫字段),想起来了,Lucene中好像有个Field的东西;创建一个Document的时候需要创建一个或多个Field,Field可是有很多类型的,比如专门用来检索的,有的专门用来存储检索数据。在创建索引的时候,你就可以创建一个索引字段,再创建一个内容字段;在查询的时候,你就可以根据索引字段得到这一个Document,然后根据获取内容字段,就可以得到你想要的值啦!可以有多个索引字段和内容字段的。
C 分析并建索
将Document(包括Field)创建完毕之后,我们就需要建立一个IndexWriter对象,看名字就知道是用来创建索引的,指定好索引文件所在的位置以及创建索引用的分析器,就可以将Document写入索引了。就好比IndexWriter创建了一个数据库的表(索引文件),再向这个表里插入行数据(Document),这里分析器可以有不同的类型,咂用俺还不会…………
分享到:
评论

相关推荐

    Lucene研究,Lucene 读书笔记

    【Lucene 研究与读书笔记】 Lucene 是一个高性能、可扩展的全文检索库,它是Apache软件基金会的顶级项目之一,广泛应用于各种搜索引擎的开发。本文将深入探讨Lucene的核心概念,包括全文检索的基本原理、索引的创建...

    lucene使用总结笔记

    lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记

    lucene文档笔记详解

    **Lucene文档笔记详解** Lucene,源自Apache软件基金会4 Jakarta项目组,是一个备受开发者青睐的开源全文检索引擎工具包。它提供了强大的文本分析、索引构建和搜索功能,但值得注意的是,Lucene本身并不包含完整的...

    lucene笔记.pdf

    lucene笔记

    Lucene 学习笔记 1

    **Lucene 学习笔记 1** Lucene 是一个全文搜索引擎库,由 Apache 软件基金会开发。它提供了一个可扩展的、高性能的搜索框架,使得开发者能够在其应用程序中集成高级的搜索功能。本篇学习笔记将深入探讨 Lucene 的...

    Lucene学习笔记.doc

    【Lucene学习笔记】 Lucene是一个高性能、全文检索的开源库,完全用Java编写,能够帮助开发者在应用程序中实现复杂的搜索引擎功能。它提供了强大的索引和搜索机制,使得从大量文本数据中快速找到相关信息变得简单。...

    lucene笔记

    ### Lucene知识点详解 #### 一、Lucene简介 **1.1 什么是Lucene** Lucene是一个由Apache基金会维护的开源全文检索引擎工具包。它为开发者提供了一个简便的接口,使得在应用程序中实现高效的全文检索功能成为可能...

    Lucene 3.6 学习笔记

    【Lucene 3.6 学习笔记】 Lucene 是一个高性能、全文本搜索库,广泛应用于各种搜索引擎的开发。本文将深入探讨Lucene 3.6版本中的关键概念、功能以及实现方法。 ### 第一章 Lucene 基础 #### 1.1 索引部分的核心...

    lucene学习笔记

    标题:Lucene学习笔记 描述:Lucene学习笔记,Lucene入门必备材料 知识点: 一、Lucene概述与文档管理策略 Lucene是一款高性能、全功能的文本搜索引擎库,广泛应用于文档检索、全文搜索等场景。为了提升搜索效率...

    传智播客Lucene课程课堂笔记

    传智播客Lucene课程课堂笔记

    lucene课程笔记

    关于lucene开发的工作笔记,详细的介绍了lucene的索引在创建过程中应该主意的一些事项和要求

    Lucene学习笔记(一)Lucene入门实例

    NULL 博文链接:https://kylinsoong.iteye.com/blog/719415

    读书笔记:从Lucene到Elasticsearch全文检索实战源码.zip

    读书笔记:从Lucene到Elasticsearch全文检索实战源码

    Lucene学习笔记

    【Lucene学习笔记】 Lucene 是一款开源的全文检索框架,由Apache软件基金会维护,它提供了高效的、可扩展的搜索引擎功能。不同于一个完整的应用程序,Lucene 提供的是一个基础组件,开发者可以将其集成到自己的应用...

    读书笔记:Lucene全文检索入门项目 Java实现Maven项目 Elasticsearch 基础实战.zip

    读书笔记:Lucene全文检索入门项目 Java实现Maven项目 Elasticsearch 基础实战

    【大搜集:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    lucene学习笔记 1 .txt lucene学习笔记 2.txt lucene学习笔记 3 .txt lucene入门实战.txt Lucene 的学习 .txt Lucene-2.0学习文档 .txt Lucene入门与使用 .txt lucene性能.txt 大富翁全文索引和查询的例子...

    lucene3.5学习笔记

    ### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...

Global site tag (gtag.js) - Google Analytics