`
jack.zhao829
  • 浏览: 24135 次
  • 性别: 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学习之创建索引入门示例

    NULL 博文链接:https://iamyida.iteye.com/blog/2192938

    lucene-codec-example:使用新的 Lucene Codec API 的示例代码

    使用新的 Lucene Codec API 的示例代码。 有关详细信息,请参阅 。 执行测试运行gradle test 。 将在您的 tmp 目录中创建两个目录,例如 Linux 上的 /tmp/lucene-plaintext 和 /tmp/lucene-mixed。 lucene-plain...

    Lucene.NET v3.0.3 DEMO范例程序(含PanGu分词)

    这是Lucene.NET v3.0.3 DEMO范例程序(含PanGu分词),用C#... 项目中还整理了一个后台任务线程监听范例,可以用作增量索引创建,但这个需要你自行加入相关具体的适合自己的代码…… 对了,这是基于.NET MVC的范例项目。

    lucene2.9.1完整DEMO及开发文档

    //src要创建索引的文件,destDir索引存放的目录 public static void createIndex(File src, File destDir){ Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT); //创建一个语法分析器 ...

    基于lucene的搜索引擎总结

    Lucene索引代码示例: Directory dir = FSDirectory.getDirectory(indexDir); Analyzer anlyzer = new SimpleAnalyzer(); IndexWriter writer = new IndexWriter(dir, analyzer, true); Document doc = new Document...

    LuceneBasic:使用Java 8 Lambda进行Lucene搜索

    在Mallik / example / lucene包内创建子包数据并建立索引,并在data文件夹内放置一些.txt文件。 代码中的问题: 使用addDocuments将文档添加到Lucene中,因此当您运行索引类时,这将不会检查现有文档,请使用...

    C#开源项目盘古分词的使用手册

    盘古分词API解释和安装说明 文件说明 2 PanGuSegment 2 PanGu4Lucene 2 PanGu.dll 调用方法 2 ...创建索引 12 插入数据 12 对要搜索的词分词 13 搜索 13 PanGu4Lucene 示例 15 PanGu4Lucene 示例安装说明 15

    solr基础知识介绍

    4.1 创建索引 7 4.1 删除索引 7 4.1 索引查询 8 5.配置文件分析 9 5.1 schema.xml 9 5.1.1 文件分析 9 5.1.2 文档注释 13 5.2 solrconfig.xml 16 6.Solr缓存 18 6.1 filterCache 18 6.2 queryResultCache 18 6.3 ...

    Elasticsearch 技术解析与实战.zip

    34 1.6.4 修改文档 35 1.6.5 查询文档 35 1.6.6 删除文档 35 1.7 小结 36 第2章 索引 37 2.1 索引管理 37 2.1.1 创建索引 37 2.1.2 删除索引 39 2.1.3 获取索引 39 2.1.4 打开/关闭索引 40 2.2 索引映射管理 41 ...

    基于Lire库搜索相似图片源码

    使用Lire来进行图片的搜索示例代码,包括创建索引和搜索。博客链接:https://blog.csdn.net/u010889616/article/details/81155701

    wikipedia-redirect-pages

    维基百科 解析来自 Wikipedia、DBPedia 和 Freebase 的有用数据 项目:重定向页面 要求 要运行这个项目,你需要...从解析到索引中选择输出文件 - 将创建索引 搜索 贡献 分叉吧 创建您的功能分支( git checkout -b my-

    dwtc-tools:德累斯顿 Web 表语料库 Java 库

    DWTC-Tools:用于处理 Dresden Web Table ... 在语料库上创建 Lucene 索引,包括一些预处理(包webreduce.indexing ) 需要时直接从 Common Crawls S3 访问每个表的原始页面的全文(包webreduce.fulltext ) 应用

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

    书名:《微信公众平台应用开发:方法、技巧与案例》(机械工业出版社.... 11.5.5 应用启动时创建索引 313  11.5.6 部署应用及测试体验 314  11.6 小结 314 附录 返回码及接口调用次数说明 316

    medline-query-with-entities:与实体发布查询

    一个自足的Solr / Lucene 5.x查询应用程序,用于使用创建的索引该索引可用作常规的SOLR实例。 如果需要使用注释,则可以使用特殊的扩展名。 查询语言是人类难以使用的语言。 因此,有一种特殊的简化查询语言和一种...

    JAVA上百实例源码以及开源项目源代码

    Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下所示,其实代码很简单,希望对你有帮助。 Message-Driven Bean EJB实例源代码 2个目标文件 摘要:...

    JAVA上百实例源码以及开源项目

    一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码...

    ZendFramework中文文档

    2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问控制 2.1.6. 查询 ACL 2.2. 精细的访问控制 2.2.1. 精细的访问控制 2.2.2. 除去访问控制 2.3. 高级用法 2.3.1. 保存 ACL 数据确保持久...

    java开源包1

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包11

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

Global site tag (gtag.js) - Google Analytics