利用空闲时间写了一个使用lucene创建索引简单示例,
1.使用maven创建的项目
2.需要用到的jar如下:
废话不多说,直接贴代码如下:
1.创建索引的类(HelloLucene):
package test.lucene;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
import java.io.File;
import java.io.FileReader;
/**
* 创建索引类
* Created with IntelliJ IDEA.
* User: jackzhao
* Date: 14-3-13
* Time: 下午2:57
* To change this template use File | Settings | File Templates.
*/
public class HelloLucene {
/**
* 创建索引
*/
public void createIndex(){
try
{
//1.创建Directory
//在磁盘上创建索引
Directory dir= FSDirectory.open(new File("d:/lucene/TestIndex"));
//2.创建IndexWriter
IndexWriterConfig iwc=new IndexWriterConfig(Version.LUCENE_47,new StandardAnalyzer(Version.LUCENE_47));
IndexWriter writer=new IndexWriter(dir,iwc);
//3.创建Document
Document document=null;
File f=new File("d:/lucene/TestData");
for(File file:f.listFiles())
{
document=new Document();
//4.为Document添加Field对象
document.add(new StringField("filename",f.getName(), Field.Store.YES));
document.add(new StringField("path",f.getAbsolutePath(), Field.Store.YES));
document.add(new TextField("context",new FileReader(file)));
}
//5.关闭IndexWriter
writer.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
2.单元测试类(LuceneTest):
import org.junit.Test;
import test.lucene.HelloLucene;
/**
* 单元测试类
* Created with IntelliJ IDEA.
* User: jackzhao
* Date: 14-3-13
* Time: 下午3:15
* To change this template use File | Settings | File Templates.
*/
public class LuceneTest {
@Test
public void testLucene(){
HelloLucene hl=new HelloLucene();
hl.createIndex();
}
}
创建的索引如下图:
相关推荐
**Lucene5学习之创建索引入门示例** 在IT领域,搜索引擎的开发与优化是一项关键技术,而Apache Lucene作为一款高性能、全文本搜索库,是许多开发者进行文本检索的首选工具。本文将深入探讨如何使用Lucene5来创建一...
本篇文章将通过一个简单的小示例,深入探讨Lucene的核心概念和操作流程。 首先,我们需要理解Lucene的索引机制。索引是Lucene处理文档的关键步骤,它将文本数据转换为一种结构化的、可快速搜索的形式。在创建索引时...
2. 创建索引目录:索引数据会存储在一个Directory对象中,可以是文件系统、内存或数据库。通常我们选择FSDirectory,将索引存储在本地文件系统。 3. 创建文档对象:为每份要索引的数据创建一个Document对象,添加...
**Lucene创建索引与搜索"java"关键字的示例代码** Apache Lucene是一个高性能、全功能的文本搜索引擎库,广泛应用于各种系统中用于实现高效、精准的全文检索功能。这个示例代码将向我们展示如何使用Lucene来创建一...
3. **索引创建**:了解如何使用Lucene的Analyzer对数据进行分词,创建索引,包括字段设置、分析器选择等。 4. **搜索接口**:学习使用Lucene的QueryParser构建查询,执行搜索,获取匹配的文档。 5. **高亮显示**:...
- 使用Lucene提供的API来创建索引。 - 需要创建一个`IndexWriter`对象,指定索引存储的位置及索引的配置选项。 - 对于每个XML文档中的元素,可以创建一个`Document`对象,并将其添加到`IndexWriter`中。 3. **...
示例代码可能会包括创建索引的 `createIndex()` 方法、查询的 `search(String query)` 方法等。注意处理异常,确保操作的稳定性和安全性。 此外,为了提高用户体验,可以考虑以下优化: - 使用近实时搜索(NRT):...
本文将重点介绍如何使用Lucene创建索引以及如何基于这些索引进行高效的搜索。 #### 二、创建索引 ##### 2.1 准备工作 在开始之前,我们需要做一些准备工作: - **安装Java环境**:Lucene基于Java开发,因此首先...
以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....
1. **创建索引**:首先,你需要创建一个`Directory`对象,这可以是内存中的`RAMDirectory`或磁盘上的`FSDirectory`。然后,使用`IndexWriter`实例化一个对象,设置好分词器(如这里提到的JE分词器),将文档添加到...
在本示例中,我们将探讨 Lucene5 创建索引和执行搜索的基本流程。 1. **安装与设置** - `.classpath` 和 `.project` 文件是 Eclipse IDE 的配置文件,它们包含了项目的类路径和工程设置。为了运行 Lucene 示例,...
在提供的示例中,`lucene-demos-1.4-final`包含了对普通文本和HTML文件的索引示例,而`XMLIndexingDemo`则专门处理XML文件。这些示例代码可以帮助开发者理解如何使用Lucene构建索引,以及如何执行搜索操作。 总结来...
本示例项目“lucene4.4的搜索示例”旨在帮助开发者快速理解和使用 Lucene 的核心功能,包括索引构建、查询解析以及结果排序。 首先,我们来看索引构建过程。在 Lucene 中,数据并不是直接存储的,而是通过构建索...
在这个示例中,作者简单地使用了Lucene自带的分词器进行中文分词,但由于其功能相对有限,因此效果可能不如专门的中文分词工具如HanLP、IK Analyzer或jieba分词器。Lucene的分词过程包括将输入文本拆分成单独的词语...
从"lucene3.0.3搜索的使用示例"中,你将学习如何编写代码来完成这些任务,包括索引创建、查询构造、搜索执行以及结果处理等。 在压缩包中的示例代码通常会涵盖这些概念,通过实际运行和调试这些代码,你可以深入...
1. **创建索引(Indexing)**: 如何读取文件,定义文档字段,使用Analyzer进行预处理,然后将处理后的文档添加到索引中。 2. **搜索索引(Searching)**: 如何构建查询对象,执行搜索,并获取匹配的文档结果。 3. ...
标题中的“Lucene对本地文件多目录创建索引”指的是使用Apache Lucene库来构建一个搜索引擎,该搜索引擎能够索引本地计算机上的多个文件目录。Lucene是一个强大的全文搜索库,它允许开发者在Java应用程序中实现高级...
- `LuceneTest`可能是这个项目的主要测试类,它可能包含创建索引、查询索引以及展示结果的代码示例。 - 学习该项目,应关注如何实例化`Directory`(如`FSDirectory`)、选择合适的`Analyzer`(如`StandardAnalyzer...
**Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文...本项目提供了一个基础的实现示例,对于初学者来说,是学习Lucene索引和查询的绝佳起点。在实际应用中,可以进一步扩展和优化,以满足更复杂的需求。