热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Lucene学习之创建索引

2019独角兽企业重金招聘Python工程师标准一、实现步骤第一步:创建一个maven工程。第二步:创建一个indexwriter对象。指定索引库

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、实现步骤

第一步:创建一个maven工程。

第二步:创建一个indexwriter对象。

  • 指定索引库的存放位置Directory对象
  • 指定一个分析器,对文档内容进行分析。

第二步:创建document对象。

第三步:创建field对象,将field添加到document对象中。

第四步:使用indexwriter对象将document对象写入索引库,此过程进行索引创建。并将索引和document对象写入索引库。

第五步:关闭IndexWriter对象。

二、pom文件

我这里用的是当前最新版本,具体maven文件如下:

junitjunit4.11testorg.apache.lucenelucene-core7.5.0org.apache.lucenelucene-analyzers-common7.5.0org.apache.lucenelucene-queryparser7.5.0commons-iocommons-io2.6junitjunit4.12compilejunitjunit4.12compilejunitjunit4.12compilejunitjunit4.12junitjunit4.12compile 三、源代码

package com.wuzheng.lucene;import org.apache.commons.io.FileUtils;
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 java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;public class Indexer {private IndexWriter indexWriter;private final String index_dir = "D:/index";private final String file_dir = "D:/file";/*** 创建索引* 1.创建一个IndexWriter对象*/public void createIndex() throws Exception{//指定索引库存放位置Directory directory = FSDirectory.open(Paths.get(index_dir));//创建分析器 默认标准分析器StandardAnalyzer analyzer = new StandardAnalyzer();//创建IndexWriterConfig 对象IndexWriterConfig indexWriterConfig=new IndexWriterConfig(analyzer);//创建IndexWriter对象indexWriter=new IndexWriter(directory,indexWriterConfig);//获得原始文档 可以是文件、数据库表记录、或者网页信息等List sourceFiles = getSourceFiles(file_dir);if(sourceFiles!=null&& sourceFiles.size()>0){for (int i = 0; i getSourceFiles(String file_dir) {File file = new File(file_dir);return Arrays.asList(file.listFiles());}public static void main(String[] args) {Indexer indexer = new Indexer();try {indexer.createIndex();System.out.println("create index success");} catch (Exception e) {e.printStackTrace();}}}
四、测试结果


转:https://my.oschina.net/codeTec/blog/2877921



推荐阅读
  • electronvue使用electronupdater实现自动更新
    今天呢,给大家带来一篇干货满满的electron-vue自动升级的教程,话不多说,开始我的表演!配置文件package.jsonbu ... [详细]
  • 本文详细介绍了在Mac操作系统中使用Python连接MySQL数据库的方法,包括常见的错误处理及解决方案。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • Java实现实时更新的日期与时间显示
    本文介绍了如何使用Java编程语言来创建一个能够实时更新显示系统当前日期和时间的小程序。通过使用Swing库中的组件和定时器功能,可以实现界面友好且功能强大的时间显示应用。 ... [详细]
  • SpringBoot底层注解用法及原理
    2.1、组件添加1、Configuration基本使用Full模式与Lite模式示例最佳实战配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断配置类组 ... [详细]
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • 转载自:https:blog.csdn.netu013948858articledetails77800663【python】pip安装报错UnicodeDecode ... [详细]
  • 构建Python自助式数据查询系统
    在现代数据密集型环境中,业务团队频繁需要从数据库中提取特定信息。为了提高效率并减少IT部门的工作负担,本文探讨了一种利用Python语言实现的自助数据查询工具的设计与实现。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • 本文介绍了JSP的基本概念、常用标签及其功能,并通过示例详细说明了如何在JSP页面中使用Java代码。 ... [详细]
  • Struts2框架构建指南
    本文详细介绍了如何使用Struts2(版本2.3.16.3)构建Web应用,包括必要的依赖库添加、配置文件设置以及简单的示例代码。Struts2是Apache软件基金会下的一个开源框架,用于简化Java Web应用程序的开发。 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • 本文介绍了如何通过创建自定义 XML 文件来修改 Android 中 Spinner 的项样式,包括颜色和大小的调整。 ... [详细]
author-avatar
wugege12
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有