`
jack.zhao829
  • 浏览: 24947 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene创建索引简单示例

 
阅读更多

利用空闲时间写了一个使用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();

    }

}

创建的索引如下图:



 

 

 

  • 大小: 23.8 KB
  • 大小: 31.6 KB
分享到:
评论

相关推荐

    Lucene5学习之创建索引入门示例

    **Lucene5学习之创建索引入门示例** 在IT领域,搜索引擎的开发与优化是一项关键技术,而Apache Lucene作为一款高性能、全文本搜索库,是许多开发者进行文本检索的首选工具。本文将深入探讨如何使用Lucene5来创建一...

    lucene 索引小示例

    本篇文章将通过一个简单的小示例,深入探讨Lucene的核心概念和操作流程。 首先,我们需要理解Lucene的索引机制。索引是Lucene处理文档的关键步骤,它将文本数据转换为一种结构化的、可快速搜索的形式。在创建索引时...

    lucene全文检索简单索引和搜索实例

    2. 创建索引目录:索引数据会存储在一个Directory对象中,可以是文件系统、内存或数据库。通常我们选择FSDirectory,将索引存储在本地文件系统。 3. 创建文档对象:为每份要索引的数据创建一个Document对象,添加...

    Lucene建立索引及查询包含“java”关键字 示例代码

    **Lucene创建索引与搜索"java"关键字的示例代码** Apache Lucene是一个高性能、全功能的文本搜索引擎库,广泛应用于各种系统中用于实现高效、精准的全文检索功能。这个示例代码将向我们展示如何使用Lucene来创建一...

    Lucene与数据库结合示例(加双关键字高亮)

    3. **索引创建**:了解如何使用Lucene的Analyzer对数据进行分词,创建索引,包括字段设置、分析器选择等。 4. **搜索接口**:学习使用Lucene的QueryParser构建查询,执行搜索,获取匹配的文档。 5. **高亮显示**:...

    lucene 对 xml建立索引

    - 使用Lucene提供的API来创建索引。 - 需要创建一个`IndexWriter`对象,指定索引存储的位置及索引的配置选项。 - 对于每个XML文档中的元素,可以创建一个`Document`对象,并将其添加到`IndexWriter`中。 3. **...

    lucene 站内搜索示例

    示例代码可能会包括创建索引的 `createIndex()` 方法、查询的 `search(String query)` 方法等。注意处理异常,确保操作的稳定性和安全性。 此外,为了提高用户体验,可以考虑以下优化: - 使用近实时搜索(NRT):...

    Lucene创建与搜索索引

    本文将重点介绍如何使用Lucene创建索引以及如何基于这些索引进行高效的搜索。 #### 二、创建索引 ##### 2.1 准备工作 在开始之前,我们需要做一些准备工作: - **安装Java环境**:Lucene基于Java开发,因此首先...

    Lucene索引器实例

    以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....

    lucene搜索的简单入门例子源代码

    1. **创建索引**:首先,你需要创建一个`Directory`对象,这可以是内存中的`RAMDirectory`或磁盘上的`FSDirectory`。然后,使用`IndexWriter`实例化一个对象,设置好分词器(如这里提到的JE分词器),将文档添加到...

    Lucene5写的全文搜索的demo,包括创建索引和搜索

    在本示例中,我们将探讨 Lucene5 创建索引和执行搜索的基本流程。 1. **安装与设置** - `.classpath` 和 `.project` 文件是 Eclipse IDE 的配置文件,它们包含了项目的类路径和工程设置。为了运行 Lucene 示例,...

    深入 Lucene 索引机制深入 Lucene 索引机制

    在提供的示例中,`lucene-demos-1.4-final`包含了对普通文本和HTML文件的索引示例,而`XMLIndexingDemo`则专门处理XML文件。这些示例代码可以帮助开发者理解如何使用Lucene构建索引,以及如何执行搜索操作。 总结来...

    lucene4.4的搜索示例

    本示例项目“lucene4.4的搜索示例”旨在帮助开发者快速理解和使用 Lucene 的核心功能,包括索引构建、查询解析以及结果排序。 首先,我们来看索引构建过程。在 Lucene 中,数据并不是直接存储的,而是通过构建索...

    Lucene与DB结合示例

    在这个示例中,作者简单地使用了Lucene自带的分词器进行中文分词,但由于其功能相对有限,因此效果可能不如专门的中文分词工具如HanLP、IK Analyzer或jieba分词器。Lucene的分词过程包括将输入文本拆分成单独的词语...

    lucene3.0.3搜索的使用示例

    从"lucene3.0.3搜索的使用示例"中,你将学习如何编写代码来完成这些任务,包括索引创建、查询构造、搜索执行以及结果处理等。 在压缩包中的示例代码通常会涵盖这些概念,通过实际运行和调试这些代码,你可以深入...

    lucene示例 demo+jar包

    1. **创建索引(Indexing)**: 如何读取文件,定义文档字段,使用Analyzer进行预处理,然后将处理后的文档添加到索引中。 2. **搜索索引(Searching)**: 如何构建查询对象,执行搜索,并获取匹配的文档结果。 3. ...

    Lucene对本地文件多目录创建索引

    标题中的“Lucene对本地文件多目录创建索引”指的是使用Apache Lucene库来构建一个搜索引擎,该搜索引擎能够索引本地计算机上的多个文件目录。Lucene是一个强大的全文搜索库,它允许开发者在Java应用程序中实现高级...

    Lucene建立索引

    - `LuceneTest`可能是这个项目的主要测试类,它可能包含创建索引、查询索引以及展示结果的代码示例。 - 学习该项目,应关注如何实例化`Directory`(如`FSDirectory`)、选择合适的`Analyzer`(如`StandardAnalyzer...

    Lucene索引和查询

    **Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文...本项目提供了一个基础的实现示例,对于初学者来说,是学习Lucene索引和查询的绝佳起点。在实际应用中,可以进一步扩展和优化,以满足更复杂的需求。

Global site tag (gtag.js) - Google Analytics