package org.se.lucene;
//主类
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
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;
public class hellowLucene {
public void index()
{
IndexWriter writer=null;
try {
//1.创建directory
Directory directory=FSDirectory.open(new File("F/lucene/Index03"));
//2.创建IndexWriter
writer=new IndexWriter(directory,new IndexWriterConfig(Version.LUCENE_36,
new StandardAnalyzer(Version.LUCENE_36)));
//3.创建Document对象
Document document=null;
//4.为Document添加Field
File f=new File("f:/lucene/lucenes");
for(File file:f.listFiles())
{
document=new Document();
document.add(new Field("content",new FileReader(file)));
document.add(new Field("filename",file.getName(),Field.Store.YES,
Field.Index.NOT_ANALYZED));
document.add(new Field("path",file.getAbsolutePath(),Field.Store.YES,
Field.Index.NOT_ANALYZED));
}
//5.通过IndexWriter添加文档到索引中
writer.addDocument(document);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(writer!=null)
writer.close();
}catch (CorruptIndexException e2) {
e2.printStackTrace();
// TODO: handle exception
}catch (IOException e2) {
e2.printStackTrace();
// TODO: handle exception
}
}
}
}
//测试类
package org.se.lucene;
import org.junit.Test;
public class LuceneTest {
@Test
public void test_Index()
{
hellowLucene hLucene=new hellowLucene();
hLucene.index();
}
}
相关推荐
基于Spring Boot与Vue构建个人知识管理系统:从技术选型到部署实践
在信息爆炸的时代,知识管理系统成为个人与开发者高效组织信息的重要工具。其核心原理在于通过结构化的数据存储、高效的检索算法和直观的交互界面,实现对碎片化知识的集中管理与快速定位。从技术价值看,一个定制化的知识库不仅能保障数据隐私与格式自主权,更能通过个性化功能提升知识复用效率。常见的应用场景包括技术笔记归档、项目经验沉淀、学习心得整理以及灵感碎片收集。本文聚焦于使用Spring Boot与Vue技术栈,详细探讨如何从零搭建一个具备富文本编辑、全文检索、标签分类及文件管理功能的可部署系统,其中Spring Bo
Lucene介绍与使用
1、了解搜索技术 1.1 什么是搜索 简单的说,搜索就是搜寻、查找,在IT行业中就是指用户输入关键字,通过相应的算法,查询并返回用户所需要的信息。 1.2 普通的数据库搜索 类似:select * from 表名 where 字段名 like ‘%关键字%’ 例如:select * from article where content like ’%here%’ 结果: where here...
【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)
【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)
Lucene入门及操作详解
1 什么是全文检索 1.1 数据分类 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等磁盘上的文件 1.2 结构化数据搜索 常见的结构化数据也就是数据库中的数据。 在数据库中搜索很容易实现,通常都是使用 sql语句进行查询,而且能很快的得到查询结果。 为什么数据库搜索很容易? 因为数据库中的数据存储是有规律的,...
Cadence17.4 Allegro PCB制板(gerber / 光绘)文件输出的顺序及注意点
Cadence Allegro PCB制板文件输出 (gerber 光绘文件输出)
MIL-STD-1553B协议解析与工程实践指南
MIL-STD-1553B作为军用航空电子系统的核心通信协议,采用命令/响应式串行总线架构,通过双冗余设计实现高可靠性数据传输。该协议定义了三类终端设备(总线控制器、远程终端、总线监视器)和六种标准消息格式,典型应用包括飞行控制系统、导航设备等关键航电组件的实时数据交互。深入解析模式代码机制和状态字位域定义,其中传输向量字(10000)和同步命令(00001)等关键指令在分布式系统时间对齐、故障诊断等场景发挥重要作用。工程实践中需特别注意78Ω终端阻抗匹配、4-12μs响应时间窗口等硬性指标,结合变压器耦合
全文检索功能(Lucene)
Lucene:全文检索技术 概念:先创建索引,然后再对索引搜索的过程就是全文检索技术; 索引一次创建多次使用,表现为每次的查询速度很快。 索引:一个为了提高查询速度,创建某种数据结构的集合。 数据的分类: 结构化数据:格式、长度、数据类型固定 例如数据库的数据, 非结构化数据:格式、长度、数据类型不固定 word文档、pdf文档等等 数据的查询 结构化数据的查询:sql语句 简单、查询速度快 非结构化数据:查询某个关键字? 条件复杂,查询难度大 顺序扫描法 字符串匹配(顺序扫
Vivado IP核与License许可全解析:从免费到收费,从评估到部署
本文全面解析Vivado IP核与License许可机制,从免费到收费IP核的选型指南到License的申请与部署策略。详细介绍了Xilinx官方IP核的优势与局限,第三方IP核的风险与应对,以及实战中的资源优化技巧和版本兼容性问题,帮助开发者高效利用Vivado工具链。
Lucene概述
Lucene搜索库
Cadence Allegro 17.4 保姆级教程:PCB位号重排与反标回原理图完整避坑指南
本文详细解析了Cadence Allegro 17.4中PCB位号重排与反标回原理图的全流程,包括安全工程准备、智能重排策略和反标黄金法则。特别针对芯片封装协同设计(Co-Design)场景,提供可追溯的版本管理和故障恢复方案,帮助工程师避免常见位号陷阱,确保设计文件一致性。
Unity插件-Mirror使用方法(一)Mirror介绍
Unity Mirror 是一个专为 Unity 引擎设计的开源、社区驱动的网络库,主要用于简化多人联机游戏的开发。它最初是为了替代 Unity 原生的 UNet 系统(已被官方弃用)而创建的,因其轻量、灵活和高效的特点,成为 Unity 开发者构建多人游戏的热门选择。
(From原博客)Lucene建立本地txt文件索引
好久没有在这发博了,前段时间一直在复习、之后看书学习,编程很少,也没什么东西可以写。期末考试毕竟是大事啊。最近刚学完了lucene建立索引、还有SQLite的基本用法,之后我就会在操作后跟大家分享了,今天来写一下这篇Lucene建立本地txt文件索引作为新开始吧。 话不多说,如果想学Lucene或者想了解先看看程序吧 Lucene还是比较好理解的一个开源包,如果觉得感兴趣看看入门就很容易看懂下面...
AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南
官网:www.SZLCSC.COM以芯片为例器件类——>芯片类——>对应芯片确定芯片——>数据手册1:原理图2:PCB3:打开操作流程选中原理图——>文件——>导出——>AD1: ✔2:导出AD文件操作流程选中PCB图——>文件——>导出——>AD1: ✔2:导出AD文件1:PCB图2:原理图操作流程文件——>打开操作流程选中文件——>打开操作流程项目文件——>添加新的...到工程——>Schematic Library新原理图库操作流程项目文件——>添加新的...到工程——>PCB Library新的PC
全文检索---lucene学习笔记 有案例
最近要做检索了,特来学习复习lucene,原理跟数据库的索引一样! 1、注意false和true区别 IndexWriter writer = new IndexWriter(indexpath, getAnalyzer(),false); IndexWriter writer = new IndexWriter(indexpath, getAnalyzer(),tru...
STM32入门教程:智能储物柜控制
在这个例子中,我们将使用一个4x4的储物柜,共有16个储物格。我们了解了硬件准备、储物柜电路设计、STM32的基本配置、储物柜控制代码的编写以及测试和调试等方面的知识。根据我们的电路设计,我们需要将一些引脚配置为输出,并将其他引脚配置为输入。在本教程中,我们将使用STM32微控制器来实现一个基本的智能储物柜控制系统。在主函数中,我们将不断循环读取传感器数据,并根据数据的变化来控制储物柜的开关和显示相关信息。这个函数将读取人体感应传感器、温湿度传感器和光照传感器的数据,并将数据存储到相应的变量中。
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
查询太慢?看看ES是如何把索引的性能压榨到极致的
再用<商,余数>的组合表示每一组id,这样每组里的id范围都在0~65535内了,剩下的就好办了,既然每组id不会变得无限大,那么我们就可以通过最有效的方式对这里的id存储。用0/1表示某个值是否存在,比如10这个值就对应第10位,对应的bit值是1,这样用一个字节就可以代表8个文档id,旧版本(5.0之前)的Lucene就是用这样的方式来压缩的,但这样的压缩方式仍然不够高效,如果有1亿个文档,那么需要12.5MB的存储空间,这仅仅是对应一个索引字段(我们往往会有很多个索引字段)。来看看ES是怎么做的。
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
MySQL 之全文索引(fulltext)
本文源自:https://blog.youkuaiyun.com/mrzhouxiaofei/article/details/79940958 最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录。 引入 概念 通过数值比较、范围过滤等就可以完成绝大多数我们需要的查询,但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询,而不是原来的精确数值比较。全文索引就是为这种场景设计的。 你可能会说
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
Java最新Elasticsearch学习系列之一:基础知识与软件安装(1),从思路到不断优化
毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节。
MySQL 之全文索引
最近在复习数据库索引部分,看到了 fulltext,也即全文索引,虽然全文索引在平时的业务中用到的不多,但是感觉它有点儿意思,所以花了点时间研究一下,特此记录。 引入 概念 通过数值比较、范围过滤等就可以完成绝大多数我们需要的查询,但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询,而不是原来的精确数值比较。全文索引就是为这种场景设计的。 你可能会说,用 like + % 就...
关于Lucene和ES全文搜索引擎的介绍和使用
关于Lucene和ES全文搜索引擎的介绍和使用
Java轻量级全文检索引擎Lucene使用及优化
Lucene是一个开源的全文检索引擎工具包由Doug Cutting编写。它被设计用于实现全文搜索功能,即读入一堆文本文件并将其转换为易于搜索的数据结构。Lucene提供了一组简单而强大的API,使得索引和搜索过程变得非常方便。
lucene基础知识
注:在MyEclipse中可以通过Ctrl+Shift+R和通配符查询相关的资源。 1、全文检索的概念 <1>从大量的信息中快速、准确地查找出要的信息。 <2>搜索的内容是文本信息(不是多媒体)。 <3>根据文本的关键词进行搜索,而不是根据语义进行搜索。 <4>全面、快速、准确是衡量全文检索系统的关键指标。 <5>搜索时英文不区分大小写。 <6>结果列表由相关度排序。 <7>全文搜索有站内搜索和垂直搜索 2、全文搜索与数据搜
Elasticsearch 与 Lucene 的区别和联系
Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎。它提供了一个简单易用的 RESTful API,使得数据的索引、搜索和分析变得非常简单。Elasticsearch 具有高可扩展性和高可用性,可以处理大规模的数据。Lucene 是一个 Java 开发的全文搜索引擎库。它提供了一套强大的 API,可以用于创建、索引和搜索文档。Lucene 的设计理念是高性能和可扩展性,它可以在单机上处理大量的文档。
【转载】lucene整理 -- 概念 搜索 排序
【摘录】 http://blog.youkuaiyun.com/xiaoping8411/article/details/5409940 lucene整理1 -- 概念 分类: lucene2010-03-23 22:34 52人阅读 评论(0) 收藏 举报 1. 概述 Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快...
466



被折叠的 条评论
为什么被折叠?



