lucene创建索引简单示例

本文介绍了一个简单的Lucene索引创建示例,通过Maven项目使用特定的依赖库,演示了如何创建索引文件并存储文件元数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

    }

}

创建的索引如下图:



 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值