搜索引擎学习(二)Lucene创建索引
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创建索引相关推荐
- lucene创建索引_Lucene概述第一部分:创建索引
lucene创建索引 介绍 我最近一直在与开源搜索引擎Lucene合作 . 我不是专家,但是由于我只是浏览了一些相当稀疏的文档并将应用程序从Lucene的很旧的版本迁移到了最新版本的2.4,所以我在总 ...
- mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...
MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...
- 【示例】Lucene创建索引库编程步骤
[示例]Lucene创建索引库编程步骤
- lucene创建索引时出错:扑捉到FileNotFoundException
lucene创建索引文件出错,如下图: 解决方案: 解锁即可 代码如下: bool isUpdate = IndexReader.IndexExists(directory);if (isUpdate ...
- Inside Lucene/超人气搜索引擎学习(2.0)-读取索引
上一节 下一节 Index in Practice 索引: 按图索骥 TermDoc从哪读取数据,自然是硬盘上已经建好的某个index, 具体说, 是从index中的某个文件读取. 要了解TermDo ...
- Lucene创建索引入门案例
最近在学习lucene,参考网上的资料写了一个简单搜索demo: 项目jar包: //索引关键类 <pre name="code" class="java" ...
- mysql 配置执行计划_MySQL深入学习(二)--配置、索引、执行计划
MySQL 一.MySQL 5.7 初始化配置 1.初始化数据并配置 # 1.初始化数据 /usr/local/mysql/bin/mysqld --initialize-insecure --use ...
- lucene创建索引
1.导入jar包 2.创建实体Bean package com.zhishang.lucene;/*** Created by Administrator on 2017/7/8.*/ public ...
- lucene 创建索引慢的问题
网上随便一搜都能搜到很多关于lucene的教程,这里就不细展开了.简单说下过程: IndexWriterConfig indexWriterConfig = new IndexWriterConfig ...
最新文章
- java栈 迷宫_利用栈实现迷宫的求解
- CV之OpenCV:OpenCV库涉及概念、常见函数、常用案例、HALCON软件简介之详细攻略
- 发现一个好的索引-阳神
- Android面试题(五) --重要
- Java桌球小游戏1
- 机器学习——决策树的三种学习方法
- 内存管理简介之Buddy算法和slab分配
- 低功耗远距离lora模块:SX1262与SX1278、SX1276射频无线收发器芯片对比分析以及选型指南
- perl 正则表达式 引擎_Perl 5引擎概述
- android 同步list数据,android SharedPreferences保存list数据
- android实时声音信号波形_电子设计竞赛教程-信号源类
- AutoCAD2020布局和模型窗口背景色都修改为黑色
- CE教程第八关——搜索4级指针
- 实战分析PHP大马隐藏后门——案例一
- 昨天去某大厂面试,居然让我做四则运算,还好我够机灵。
- 华尔街风雨飘摇 甲骨文却展翅翱翔
- springboot配置两个parent的方法
- WPS JS宏表格定位实例
- RFSoC应用笔记 - RF数据转换器 -05- RFSoC关键配置之RF-ADC内部解析(三)
- Git下载代码--git clone命令