lucence小例子-注释详解

lucence入门HelloWorld 本资源用于快速了解lucence的工作原理,快速搭建一个体验环境.打开lucence的学习入门. 立即下载

1、创建索引

package demo;

import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
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.store.LockObtainFailedException;

public class CreateIndex {
 
 public static void main(String[] args) throws CorruptIndexException, LockObtainFailedException, IOException {
  //创建标准分析器 可用于分词
    Analyzer luceneAnalyzer = new StandardAnalyzer();
    //索引文件所在目录   分析器   索引文件没有创建 ,有就覆盖(false:在原来的基础上创建)    域的长度没有限制
    IndexWriter indexWriter = new IndexWriter("e:/sou",luceneAnalyzer,true,IndexWriter.MaxFieldLength.UNLIMITED);
    //创建字符串数组
    String[] arrstr = new String[18];
    arrstr[0]="昭珂 刘ajax jsf spring ";
    arrstr[1]="小鹿 中鹿 老鹿  ";
    arrstr[2]="DNF 张冲 asp.net c# 北京 "; 
    arrstr[3]="王衍伟 山东   北京大学  ";
    arrstr[4]="张永博 美女  ";
    arrstr[5]="朱翠武  撒旦  ";
    arrstr[6]="纪伟乔  奥运  ";
    arrstr[7]="孙海龙  纽约 五角大楼 ";
    arrstr[8]="利辉徐  魔兽世界 ";
    arrstr[9]="薛 新峰  北京 联想公司 ";
    arrstr[10]="孙 津津  jquery ";
    arrstr[11]="马 晨智  java工程师 ";
    arrstr[12]="丁 钰 清华大学 美女 ";
    arrstr[13]="港港 卢  人体艺术 ";
    arrstr[14]="刘 宗武  柑橘 ";
    arrstr[15]="刘 宗武  白果 ";
    arrstr[16]="刘 宗武  鸭梨 ";
    arrstr[17]="刘 宗武  哈密瓜 ";
    int i=0;
   for (String str:arrstr){
   i++;
   //Document相当于一行记录
   Document doc=new Document();
   //  Field相当于一个字段               名字            是否存储           不作为搜索字段
   Field fid=new Field("id",""+i, Field.Store.YES,Field.Index.NO);
   //                   名字     字段值     存储          作为搜索字段
   Field fbody=new Field("body",str,Field.Store.YES,Field.Index.ANALYZED);
   doc.add(fid);
   doc.add(fbody);
   indexWriter.addDocument(doc);
    }
   //写向文件
 indexWriter.optimize();
   //当调用close时候才将索引存入磁盘
 indexWriter.close();
 }
}

 

2、搜索

package demo;

import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocCollector;
import org.apache.lucene.search.TopDocs;

public class SearchIndex {

 public static void main(String[] args) throws CorruptIndexException, IOException, ParseException{
  String queryString = "刘 山东";
  //索引搜索器
  IndexSearcher searcher=new IndexSearcher("e:/sou");
  
  //创建标准分析器 可用于分词
     Analyzer luceneAnalyzer = new StandardAnalyzer();
     //查询解析器
     QueryParser parser=new QueryParser("body" ,luceneAnalyzer );
     //把分析结果放入Query对象存储
     Query query=parser.parse(queryString);
     //创建容器
     TopDocCollector collector=new TopDocCollector(5);
     //搜索     传入分析结果     存储搜索结果
     searcher.search(query, collector);
     //处理  等到Document对象
     TopDocs topDocs=collector.topDocs();
     ScoreDoc[] score=topDocs.scoreDocs;
     for(ScoreDoc s:score ){
      //获得document 的唯一标识
      int docId=s.doc;
      //根据唯一标识  查找Document对象
      Document doc=searcher.doc(docId);
      //根据域名字取域对应的值
      System.out.println(doc.get("id")+":"+doc.get("body"));
     }
 }
}

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算 一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么? 阅读详情

相关推荐

机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

f作者: 寒小阳 &&龙心尘 时间:2015年10月。 出处: 声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单: 写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

寒小阳 43万+

Lucence(垂直化搜索引擎框架)

Lucence是apache旗下的一款高性能、可伸缩的开源的信息检索库,最初始Doug Cutting开发,并在SourceForge的网站下提供下载,它支持的预研C++,C#,perl、Python。 倒排索引也称为反向索引,是搜索引擎中最常见的数据结构,几乎所有的搜索引擎都会用到倒排索引。它将文档中的词作为关键字,建立词与文档的映射关系,通过对倒排索引的检索,可以根据词快速获取包含这个词...

程序员杂谈 6931

STM32duino LSM6DSO驱动库:低功耗IMU工程化实践

惯性测量单元(IMU)是智能终端与工业设备实现运动感知的核心传感器,其性能关键在于数据精度、实时响应与系统功耗的协同优化。LSM6DSO作为集成加速度计与陀螺仪的六轴MEMS器件,依托片上有限状态机(FSM)和机器学习核心(MLC),支持自由落体检测、计步器、6D方向识别等硬件自治功能,显著降低主控CPU负载。在STM32平台下,通过深度耦合HAL/LL库、显式引脚管理、DMA加速SPI传输及EXTI中断协同,可实现亚毫秒级事件响应与微安级待机功耗。本文聚焦STM32duino生态中LSM6DSO驱动的工程

weixin_36304957的博客 550

Spring Boot 集成 Lucence

文章目录17.1 Lucence 和全文检索17.1.1 全文检索17.1.2 Lucene 建立索引的方式17.2 Spring Boot 集成 Lucence17.2.1 依赖导入17.2.2 快速入门17.2.3 中文分词检索高亮 17.1 Lucence 和全文检索 Lucene 是 Apache Jakarta 家族中的一个开源项目,它不是一个完整的搜索应用程序,但可为我们的应用程序提供...

taojin12的博客 3533

攀藤PMS系列传感器STM32驱动开发与数据解析实战

本文详细介绍了攀藤PMS系列传感器与STM32微控制器的驱动开发与数据解析实战,涵盖硬件连接、数据协议解析、驱动源码编写及数据处理优化。重点解析了传感器数据帧结构,提供了完整的STM32驱动实现代码,并分享了实际应用中的问题排查与性能优化经验,帮助开发者快速实现高精度颗粒物浓度检测。

milk8的博客 347

TwinCAT3新手必看:5分钟搞定EtherCAT从站PDO动态配置(附电流变量添加技巧)

本文为TwinCAT3新手提供了EtherCAT从站PDO动态配置的快速入门指南。文章详细解析了Process Data Object(PDO)在实时数据交换中的核心作用,并分步演示了在TwinCAT3工程中扫描从站、动态添加与映射PDO(包括接收PDO和发送PDO)的完整操作流程。重点分享了如何灵活添加并监控如电机实际电流等关键工艺变量的高级技巧,并针对不同品牌驱动器的兼容性问题提供了实用的调试心法和解决方案,帮助工程师快速上手并优化工业自动化系统。

xgboost6farmer的博客 452

Lucene_详解—(从入门到大神)

Lucene概述         Lucene是一个全文检索的框架,是一款高性能的、可扩展的信息检索(IR)工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。所以我们先来了解一下什么是全文检索。         全文检索又叫做全文搜索,他首先是一种搜索。我们可以先思考一下,在平时使用电脑时,哪些地方用到过搜索?(这里单指普通的搜索,还不是全文检索。)     现实生活...

‘X’因素 1358

Harness设计——Anthropic实战:规划器、生成器、评估器三角色协作详解

本文探讨了如何通过多智能体架构突破AI编码的瓶颈问题。文章首先分析了当前AI编码面临的两大核心挑战:上下文窗口限制导致的连贯性丧失,以及自我评估机制缺失引发的质量判断偏差。针对这些问题,作者提出了基于生成对抗网络(GAN)灵感的解决方案,设计了三智能体系统:规划器负责需求分析,生成器执行编码任务,评估器进行质量审查。 实验表明,在前端设计任务中,通过制定可量化的评分标准(设计质量、原创性、工艺、功能性)并建立生成-评估反馈循环,能显著提升输出质量。这种架构随后被扩展到全栈开发领域,采用类似敏捷开发的&quo

oe1019的专栏 865

lucence索引技术

正排索引、倒排索引 正排索引:文档ID为Key,表中记录了,关键词出现的次数,出现的位置。优点:易维护。缺点:搜索的耗时太长。 倒排索引:关键词为Key,表中记录了,文档的ID,出现的频率,出现的位置。优点:搜索耗时短。缺点:不易维护。 常见词典的实现和优缺点 数据结构 优缺点 跳跃表-----------------占用内存小,且可调,但是对模糊查询支持不好 排序列表Array/List—使用二分法查找,不平衡 字典树-------------------查询效率跟字符串长度有关,但只适合英文词.

weixin_36378508的博客 1522

【变化检测】变化检测相关数据集+代码+论文合集

光学影像变化检测领域数据集(有label的,无label的)、高光谱影像变化检测领域数据集、3D变化检测领域数据集、传统变化检测算法、深度学习变化检测算法、SAR变化检测算法、高光谱变化检测算法论文及代码等资源。

向上生长的程序媛的博客 2088

【人工智能】OpenClaw网关API速率限制报错全解析 API rate limit reached. Please try again later.

对应HTTP标准状态码为429(请求过多)。该报错集中出现在OpenClaw GATEWAY DASHBOARD的聊天会话界面,核心特征为:用户最初以为是单一模型服务商的问题,先后更换OpenAI、Gemini、Ollama、Moonshot、Mercury-2等多个主流大模型API后,该报错仍稳定触发,尤其在执行复杂任务时高频出现。

奶爸的编程之路,也就一周冷个三天 6458

基于Java的全文索引引擎Lucene简介

基于JAVA的全文索引引擎Lucene简介:Lucene full-text search engine javaChinese word segment在应用中加入全文检索功能    ——基于Java的全文索引引擎Lucene简介 作者: 车东 chedong@bigfoot.com最后更新:document.write(document.

车东@优快云 4346

1、基于改进3D卷积神经网络的阿尔茨海默病分类

本文提出了一种基于改进3D卷积神经网络的阿尔茨海默病(AD)分类方法,利用3D CNN对预处理后的T1加权MRI数据进行空间特征提取,并在VGG网络结构中引入类似ResNet的跳跃连接以缓解模型退化和过拟合问题。实验基于ADNI数据集,包含AD、MCI和NC三类样本,结果表明改进后的3D VGG模型在AD/NC、MCI/NC及多分类任务中均取得了优异性能,尤其在AD/MCI/NC分类中准确率达到98.50%,优于现有典型3D深度学习方法。研究验证了3D CNN在脑部疾病诊断中的有效性,并为AD的早期识别提供

kk1234的博客 89

基于Lucence开发一个中文分析器

最近在写一个插件项目,需要实现搜索功能因为需要搜索的数据量比较大,将近文本数据,如果是传统正则,模糊匹配方式效率过低,所以我去学习了解了Lucence底层的原理,感觉比较有意思,基于Lucence实现了一个自己的中文分析器下图是搜索效果。

qq_62835094的博客 896

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

lucence

不以人人的意志为转义乃天道 401

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Lucence例子

我们先给出一个Lucene建立索引的例子: [code="java"] import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Date; import org.apache.lucene.analysis.standard.StandardAnal...

写博客只为学习 353

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Apache Lucence 使用的一个简单例子

Apache Lucence 使用的一个简单例子    //在C盘下创建一个s的文件夹,然后在s文件夹中新建三个文件:1.txt,3.txt,2.txt,,1.txt中输入"想 飞的我",2.txt中输入"想飞",3.txt中输入"我".接下来我们来看下面的测试:

blueman2012的专栏 1880

全文检索Lucence(三)——分词器

前面的文章中已经涉及到了分词器的概念,尤其是

李黎敏 ——为优秀j2ee架构师而努力 3915

elk 搜索 语法_ELK学习笔记7| Lucence 的搜索语法

在kibana进行搜索时,可以使用Lucence 通用的语法,或者使用 JSON 格式 QueryDSL (DSL:Digital Subscriber Line)来进行各项搜索请求。Apache Lucene 提供了方便的查询方式,本文就介绍以下 Lucence 查询解析器支持的语法,为后面的 ElasticSearch 的搜索语法提供基础。0x01 查询字段使用冒号:表示包含这个单词例如:...

weixin_35414260的博客 877

全文检索Lucence(二)——索引

上篇博客中从要解决的数据和系统业务以及内部结构上,大致了解了下Lucence,这里重点从代码层面开始学习Lucence的核心部分——索引 通过这张图可以对索引有个大致的了解:

李黎敏 ——为优秀j2ee架构师而努力 3634

lucence如果要统计的字段必须设为不分词存储

lucence如果要统计的字段必须设为不分词存储

iteye_13384的博客 336

Lucence初学小记

Lucence初学小记 一. 流程 1.索引流程:采集数据 --> 构建文档对象 -->创建索引(文档写入索引库) 2.搜索流程:创建查询 --> 执行搜索 --> 渲染结果 二. 具体过程 1. 索引流程 (1) 构建索引库 Directory directory = FSDectory.open(new File("索引")); (2) 指定分词器 Analyzer analyzer = new StandardAnalyzer(Version.LUCENCE_40

qq_40911704的博客 195

solr和lucence好的学习资料

  solr和lucence好的学习资料 http://www.blogjava.net/conans/articles/379556.html   http://wiki.chenlb.com/solr/doku.php?id=schemaxml   http://www.huqiwen.com/2012/12/03/solr4-tomcat-deploy-and-how-to-...

fengbin2005 200

Lucence

Lucene简介   Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的...

WX5991的博客 790
上一篇: iBatis的sqlMap配置文件的selectKey
下一篇: htmlparser详解
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值