zoukankan      html  css  js  c++  java
  • 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();

        }

    }

    创建的索引如下图:

  • 相关阅读:
    [HEOI2016/TJOI2016]求和——第二类斯特林数
    RMAN备份脚本
    CF724E Goods transportation
    RMAN备份脚本--DataGuard primary
    [CEOI2017]Mousetrap
    healthcheck
    [学习笔记]斯特林数
    database.sql
    HDU 4372 Count the Buildings——第一类斯特林数
    orac
  • 原文地址:https://www.cnblogs.com/malcolm/p/3598676.html
Copyright © 2011-2022 走看看