最近在看Lucene in Action这本书的原著,第一步就是建立要建立文件索引,当然文件必须为统一的格式,Lucene不支持异构文件。
我练习了书中的listing 1.1:Indexer,由于我使用的是Lucene3.5版本,而书中使用的3.0,3.5和3.0是有一些差异的!
在输入参数(D:\abc\lucene\index03 D:\abc\lucene)之后,运行结果为:
以上程序中用到的类简要介绍:
IndexWriter
这个类可以建立一个新的索引或者打开一个已经存在的索引,
可以对索引进行增删改,但是不可以搜索和读取
Directory是IndexWriter存放索引的地方
FSDirectory在文件系统中存,RAMDirectory存在内存中(这样会更小、更快捷、应用关闭的时候就会销毁
但是缺点是不能持久化)这种方法适合于需要快速访问索引的时候,包括建立索引和搜索索引。
Analyer
IndexWriter不能索引文件除非它被分割成单个的词。
首先把文件的内容转变为有格式的形式。
它是一个抽象类,Lucene提供了一些实现方法。
分词器通过处理停词(不能作为区分文档的词,如a,the等)
把字符转为小写以便搜索的时候不区分大小写
一个合适的分词器能够对搜索的准确性提供很大帮助
Document
分词器需要一个包含独立字段的文档来索引
文档中有很多字段,这些字段都可以存放到索引中
Lucene只处理text格式的文档,
Feild
每个字段有若干个名称和其对应的值
分享到:
相关推荐
**标题:“Lucene建立索引”** **描述分析:** Lucene是一个开源的全文检索库,由Apache软件基金会开发。它的主要功能是提供高效的文本搜索引擎,尤其在处理大量数据时,其性能表现突出。倒排索引是Lucene实现搜索...
《Lucene全文检索:简单索引与搜索实例详解》 Lucene是Apache软件基金会的开源项目,是一款强大的全文检索库,被广泛应用于Java开发中,为开发者提供了构建高性能搜索引擎的能力。在本文中,我们将深入探讨如何基于...
在本文中,我们将探讨如何使用Lucene建立数据库索引,并分享一些在实践过程中的经验和教训。Lucene是一个高性能、全文本搜索库,广泛用于构建搜索引擎。在创建索引时,需要注意以下关键点: 1. **资料的准确性**:...
主要将如何使用Lucene建立索引以及搜索进行了代码的实现,有利于初学者熟悉Lucene的基本功能。
### Lucene对XML文档建立索引的技术解析与实践 #### 一、引言 随着互联网技术的迅猛发展,非结构化数据(如XML文档)在企业和组织中的应用日益广泛。如何高效地处理这些非结构化的数据,特别是进行快速检索成为了一...
2. 创建Analyzer:使用Paoding提供的Analyzer替换Lucene的默认Analyzer,这样在建立索引时会使用Paoding进行分词。 3. 构建索引:通过Lucene提供的IndexWriter接口,将经过Paoding分词后的文档内容写入索引。 五、...
**建立索引的步骤** 1. **添加依赖**:在MyEclipse10中,首先需要导入Lucene相关的jar包,这些通常包括lucene-core、lucene-analyzers、lucene-queryparser等,确保所有必要的组件都已引入。 2. **创建索引目录**...
全文检索的关键在于通过建立索引,将原本非结构化的文本数据转化为结构化的表示,使得搜索过程可以高效进行。在Lucene中,这个过程包括分析文本、创建倒排索引等步骤,使得搜索操作从线性时间复杂度转变为对数时间...
这个示例代码将向我们展示如何使用Lucene来创建一个索引,并执行一个包含"java"关键字的查询。 首先,我们需要导入必要的Lucene库,包括核心类库和其他可能需要的模块,例如分析器(Analyzer)和文档(Document)...
本源码演示了Lucene结合Sql建立索引,把Sql中的数据通过建立索引用Lucene来检索 【该源码由51aspx提供】 源码 " onerror="this.src='/images/ifnoimg.gif'" src="/uploads/allimg/090904/1039152O5-0.jpg...
4. 使用Lucene建立索引系统。这部分工作包括为抓取的数据建立全文索引,并对索引进行优化,以支持快速有效的搜索。 5. 设计用户界面。一个友好的用户界面对于用户体验至关重要,需要设计直观、易用的搜索界面。 6. ...
7. **写入Document并建立索引**:调用`IndexWriter.addDocument()`方法将Document写入索引。 8. **优化索引**:`IndexWriter.optimize()`可以合并索引段,提高查询性能。 9. **关闭索引写入器**:完成所有操作后,...
- **分词器(Tokenizer)**:分词器将输入的文本分解为一系列的词语,这是建立索引的第一步。 - **分析器(Analyzer)**:分析器结合了分词器、过滤器等,负责对文本进行预处理,如去除停用词、词形还原等。 ### 2...
**基于Lucene技术的增量索引** 在信息技术领域,全文搜索引擎是处理大量数据查询的关键工具。Apache Lucene是一个开源的全文检索库,被广泛应用于构建高效、可扩展的搜索功能。本文将深入探讨如何利用Lucene实现...
iTextPDFExtractor.java ------ ...--PDFBox创建PDF文件的Lucene索引 PDFBoxPathIndex.java ------- --PDFBox创建指定目录PDF文档索引 POIOfficeExtractor.java ----- -- POI处理Excel和Word文档代码
Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个...本源码演示了Lucene结合Sql建立索引,把Sql中的数据通过建立索引用Lucene来检索 支持简单的中文分词,同时提供了Lucene.Net-2.0-004版本的源码给大家
在Lucene中,索引过程包括分词、建立倒排索引以及存储相关元数据。倒排索引是Lucene的核心,它允许快速定位包含特定词汇的文档。搜索则通过查询解析、评分以及结果排序来实现,提供高效的检索性能。 2.2.3 Web...
《使用Lucene.NET对数据库建立索引及搜索》 在信息技术领域,搜索引擎是不可或缺的一部分,尤其是在处理大量数据时。Lucene.NET是一个强大的全文搜索引擎库,它允许开发人员在应用程序中集成高级搜索功能。本文将...