2008-04-30

Lucene索引文件格式分析

关键字: lucene 索引文件 格式分析
Lucene的文件格式的规范,其规定了Lucene的文件格式采取的存储单位、组织结构、命名规范等等内容. 在Lucene的文件格式中,以字节为基础,并且定义了自身的数据类型.由于它们都以字节为基础定义而来,因此保证了是平台无关,这也是Lucene索引文件格式平台无关的主要原因. Lucene索引被处理为一个目录(文件夹),其中含有的所有文件即为其内容,这些文件按照所属的段不同分组存放,同组的文件拥有相同的文件名,不同的扩展名。此外还有三个文件,分别用来保存所有的段的记录、保存已删除文件的记录和控制读写的同步,它们分别是segments,deletable和lock文件,都没有扩展名。每个段 ...
2008-04-27

Lucene 索引文件结构分析

关键字: lucene 索引文件 结构 分析
首先理解反向索引(Inverted index)这个概念,反向索引是一种以索引项为中心来组织文档的方式,每个索引项指向一个文档序列,这个序列中的文档都包含该索引项。相反,在正向索引中,文档占据了中心的位置,每个文档指向了一个它所包含的索引项的序列。你可以利用反向索引轻松的找到那些文档包含了特定的索引项。Lucene正是使用了反向索引作为其基本的索引结构。 索引文件的逻辑视图 在Lucene 中有索引块的概念,每个索引块包含了一定数目的文档。我们能够对单独的索引块进行检索。下图中显示了 Lucene 索引结构的逻辑视图。索引块的个数由索引的文档的总数以及每个索引块所能包含的最大文档数来决定 ...
2008-04-25

lucene 漫谈--入门与介绍(6)

关键字: lucene 漫谈 入门 介绍
8 分析器 在前面的概念介绍中我们已经知道了分析器的作用,就是把句子按照语义切分成一个个词语。英文切分已经有了很成熟的分析器: StandardAnalyzer,很多情况下StandardAnalyzer是个不错的选择。甚至你会发现StandardAnalyzer也能对中文进行分词。 但是我们的焦点是中文分词,StandardAnalyzer能支持中文分词吗?实践证明是可以的,但是效果并不好,搜索“如果”会把“牛奶不如果汁好喝”也搜索出来,而且索引文件很大。那么我们手头上还有什么分析器可以使用呢?core里面没有,我们可以在sandbox里面找到两个: Ch ...
2008-04-25

lucene 漫谈--入门与介绍(5)

关键字: lucene 漫谈 入门 介绍
7 如何搜索 lucene的搜索相当强大,它提供了很多辅助查询类,每个类都继承自Query类,各自完成一种特殊的查询,你可以像搭积木一样将它们任意组合使用,完成一些复杂操作;另外lucene还提供了Sort类对结果进行排序,提供了Filter类对查询条件进行限制。你或许会不自觉地拿它跟SQL语句进行比较:“lucene能执行and、or、order by、where、like ‘%xx%’操作吗?”回答是:“当然没问题!” 7.1 各种各样的Query 下面我们看看lucene到底允许我们进行哪些查询操作: 7.1.1 Te ...
2008-04-25

lucene 漫谈--入门与介绍(4)

关键字: lucene 漫谈 入门 介绍
5 如何建索引 5.1 最简单的能完成索引的代码片断 IndexWriter writer = new IndexWriter(“/data/index/”, new StandardAnalyzer(), true); Document doc = new Document(); doc.add(new Field("title", "lucene introduction", Field.Store.YES, Field.Index.TOKENIZED)); ...
2008-04-25

lucene 漫谈--入门与介绍(3)

关键字: lucene 漫谈 入门 介绍
4 lucene的结构 lucene包括core和sandbox两部分,其中core是lucene稳定的核心部分,sandbox包含了一些附加功能,例如highlighter、各种分析器。 Lucene core有七个包:analysis,document,index,queryParser,search,store,util。 4.1 analysis Analysis包含一些内建的分析器,例如按空白字符分词的WhitespaceAnalyzer,添加了stopwrod过滤的StopAnalyzer,最常用的是Stand ...
2008-04-25

lucene 漫谈--入门与介绍(2)

关键字: lucene 漫谈 入门 介绍
3lucene的几个重要概念 lucene用到一些概念,了解它们的含义,有利于下面的讲解。 3.1 analyzer Analyzer是分析器,它的作用是把一个字符串按某种规则划分成一个个词语,并去除其中的无效词语,这里说的无效词语是指英文中的“of”、 “the”,中文中的“的”、“地”等词语,这些词语在文章中大量出现,但是本身不包含什么关键信息,去掉有利于缩小索引文件、提高效率、提高命中率。 分词的规则千变万化,但目的只有一个:按语义划分。这点在英文中比较容易实现,因为英文本身就是以单词为单位的,已经用空格分开;而中文则必 ...
2008-04-25

lucene 漫谈--入门与介绍(1)

关键字: lucene 漫谈 入门 介绍
1 lucene简介 1.1 什么是lucene Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。Lucene 目前是 Apache Jakarta 家族中的一个 ...
2008-04-16

Lucene 学习笔记

关键字: lucene api application
Apache Lucene is a high-performance, full-featured text search engine library. 1.Here's a simple example how to use Lucene for indexing and searching (using JUnit to check if the results are what we expect): import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard ...
2008-04-15

Lucene 入门与实战

关键字: 入门 实战 lucene
引用本文转载自:http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/#N1004B 关于作者 周登朋,软件工程师,上海交通大学研究生,对 Java 技术以及信息检索技术很感兴趣。您可以通过 zhoudengpeng@yahoo.com.cn 与他联系。 本文首先介绍了Lucene的一些基本概念,然后开发了一个应用程序演示了利用Lucene建立索引并在该索引上进行搜索的过程。 Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引 ...
2008-04-15

搜索引擎--Lucene学习资料

关键字: 搜索引擎 lucene 资料
搜索引擎--Lucene学习资料 1、实战 Lucene,第 1 部分: 初识 Lucene http://wishlife.javaeye.com/blog/182832 2、Lucene:基于Java的全文检索引擎简介 http://www.chedong.com/tech/lucene.html#intro 3、Lucene与hibernate集成 -- Hibernate Search http://www.hibernate.org/hib_docs/search/reference/en/html_single/官方文档
2008-04-15

搜索引擎--Lucene简介

关键字: 搜索引擎 lucene
Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform. Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。 Lucene 是一个基于 ...
weidewei
搜索本博客
我的相册
0490951c-c71b-355b-8bc9-40e9ed12d2c9-thumb
expanding_universe_1400x904
共 20 张
存档
最新评论