PS:需要用到的jar包:

代码实现

1、工程结构

2、设置工程依赖的jar包

3、代码实现

/*** Lucene入门* 创建索引*/
public class CreateIndex {/*** 创建索引* 第一步:创建java工程,导入相关的jar包* 第二步:创建一个indexWriter(索引写入)对象* (1)指定索引库的存放位置Directory* (2)指定一个分析器,对文档内容进行分析* 第三步:创建document(文档)对象* 第四步:创建field(域)对象,将field添加到document对象中* 第五步:使用indexWriter对象将document对象写入索引库,此过程进行索引创建,并将索引和document对象写入索引库* 第六步:关闭indexWriter对象(关流)*/@Testpublic void createIndex() throws Exception {/*第二步:创建一个indexWriter(索引写入)对象*///设置索引库的位置(PS:若使用RAMDiretory则是使用内存当做索引库,但是一关机就凉凉...)Directory directory = FSDirectory.open(new File("E:\\zhanghaoBF\\luceneSolr\\indexLibrary").toPath());//创建分词器对象(官方推荐标准分词器)Analyzer analyzer = new StandardAnalyzer();//设置使用的分词器IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer);//创建索引对象IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);File f = new File("E:\\zhanghaoBF\\luceneSolr\\indexField");File[] listFiles = f.listFiles();for (File file : listFiles) {/*第三步:创建document(文档)对象*/Document document = new Document();/*第四步:创建field(域)对象,将field添加到document对象中*///文件名称String file_name = file.getName();Field fileNameField = new TextField("fileName", file_name, Field.Store.YES);//文件大小long file_size = FileUtils.sizeOf(file);Field fileSizeField = new StoredField("fileSize", file_size + "");//文件路径String file_path = file.getPath();Field filePathField = new StoredField("filePath", file_path + "");//文件内容String file_content = FileUtils.readFileToString(file);Field fileContentField = new TextField("fileContent", file_content, Field.Store.NO);//第三个参数是设置存不存在索引库里
document.add(fileNameField);//文件名称document.add(fileSizeField);//文件大小document.add(filePathField);//文件路径document.add(fileContentField);//文件内容/*第五步:使用indexWriter对象将document对象写入索引库,此过程进行索引创建,并将索引和document对象写入索引库*/indexWriter.addDocument(document);}/*第六步:关闭indexWriter对象(关流)*/indexWriter.close();}
}

4、右键运行后,查看生成的索引文件

5、使用luke查看索引

完事  lucene代码创建索引就算成功了~

转载于:https://www.cnblogs.com/riches/p/11444254.html

搜索引擎学习(二)Lucene创建索引相关推荐

  1. lucene创建索引_Lucene概述第一部分:创建索引

    lucene创建索引 介绍 我最近一直在与开源搜索引擎Lucene合作 . 我不是专家,但是由于我只是浏览了一些相当稀疏的文档并将应用程序从Lucene的很旧的版本迁移到了最新版本的2.4,所以我在总 ...

  2. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  3. 【示例】Lucene创建索引库编程步骤

    [示例]Lucene创建索引库编程步骤

  4. lucene创建索引时出错:扑捉到FileNotFoundException

    lucene创建索引文件出错,如下图: 解决方案: 解锁即可 代码如下: bool isUpdate = IndexReader.IndexExists(directory);if (isUpdate ...

  5. Inside Lucene/超人气搜索引擎学习(2.0)-读取索引

    上一节 下一节 Index in Practice 索引: 按图索骥 TermDoc从哪读取数据,自然是硬盘上已经建好的某个index, 具体说, 是从index中的某个文件读取. 要了解TermDo ...

  6. Lucene创建索引入门案例

    最近在学习lucene,参考网上的资料写了一个简单搜索demo: 项目jar包: //索引关键类 <pre name="code" class="java" ...

  7. mysql 配置执行计划_MySQL深入学习(二)--配置、索引、执行计划

    MySQL 一.MySQL 5.7 初始化配置 1.初始化数据并配置 # 1.初始化数据 /usr/local/mysql/bin/mysqld --initialize-insecure --use ...

  8. lucene创建索引

    1.导入jar包 2.创建实体Bean package com.zhishang.lucene;/*** Created by Administrator on 2017/7/8.*/ public ...

  9. lucene 创建索引慢的问题

    网上随便一搜都能搜到很多关于lucene的教程,这里就不细展开了.简单说下过程: IndexWriterConfig indexWriterConfig = new IndexWriterConfig ...

最新文章

  1. java栈 迷宫_利用栈实现迷宫的求解
  2. CV之OpenCV:OpenCV库涉及概念、常见函数、常用案例、HALCON软件简介之详细攻略
  3. 发现一个好的索引-阳神
  4. Android面试题(五) --重要
  5. Java桌球小游戏1
  6. 机器学习——决策树的三种学习方法
  7. 内存管理简介之Buddy算法和slab分配
  8. 低功耗远距离lora模块:SX1262与SX1278、SX1276射频无线收发器芯片对比分析以及选型指南
  9. perl 正则表达式 引擎_Perl 5引擎概述
  10. android 同步list数据,android SharedPreferences保存list数据
  11. android实时声音信号波形_电子设计竞赛教程-信号源类
  12. AutoCAD2020布局和模型窗口背景色都修改为黑色
  13. CE教程第八关——搜索4级指针
  14. 实战分析PHP大马隐藏后门——案例一
  15. 昨天去某大厂面试,居然让我做四则运算,还好我够机灵。
  16. 华尔街风雨飘摇 甲骨文却展翅翱翔
  17. springboot配置两个parent的方法
  18. WPS JS宏表格定位实例
  19. RFSoC应用笔记 - RF数据转换器 -05- RFSoC关键配置之RF-ADC内部解析(三)
  20. Git下载代码--git clone命令

热门文章

  1. MySQL的日志管理
  2. Window下VS运行达梦DPI
  3. Linux 下的tar常用命令及操作
  4. 【HDU 1276】士兵队列训练问题(两个队列模拟)
  5. DLL回调EXE里的函数
  6. 指令集及流水线基本概念
  7. CF - 741(C. Arpa’s overnight party and Mehrdad’s silent entering) 二分图构造
  8. 2运行内存多大_电脑笔记本满血复活之内存升级篇
  9. [NOTE] XPath及其注入
  10. C++获取字符串长度详解