Lucene 4.4 根据Int类型字段删除索引

Windows平台无人机仿真:从零搭建SITL环境与QGC联调 本文详细指导了在Windows平台上从零搭建无人机软件在环(SITL)仿真环境,并与QGroundControl(QGC)进行联调的完整流程。通过使用Cygwin工具链,开发者可以在没有实体硬件的情况下,模拟运行ArduPilot飞控,并通过MAVLink协议连接QGC地面站进行全功能测试,为无人机软件开发提供了一个安全、经济的虚拟沙盒环境。 阅读详情

1、方法一,通过Term删除
Term构造中没有,Int类型需要转换成Lucene自带的类BytesRef 。
    
    /**
     * 根据商品ID删除索引文件
     * @param id
     */
    public void deleteDocument(int id)
    {;
        File file = new File("E://index");
        IKAnalyzer analyzer = new IKAnalyzer();
        IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_44, analyzer);
        IndexWriter indexWriter = null;
        Directory directory;
        try {
            directory = FSDirectory.open(file);
            // 创建 IndexWriter
            indexWriter = new IndexWriter(directory, indexWriterConfig);
	  	   		BytesRef bytes = new BytesRef(NumericUtils.BUF_SIZE_INT);
                    		NumericUtils.intToPrefixCoded(id, 0, bytes);
                    		Term term = new Term(field, bytes);

           
            indexWriter.deleteDocuments(term);
            indexWriter.close();
           
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
           
    }

2.方法二,使用NumericRangeQuery

/**
     * 根据商品ID删除索引文件
     * @param id
     */
    public void deleteDocument(int id)
    {;
        File file = new File("E://index");


        IKAnalyzer analyzer = new IKAnalyzer();
        IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_44, analyzer);


        IndexWriter indexWriter = null;
        


        Directory directory;
        try {
             directory = FSDirectory.open(file);
             // 创建 IndexWriter
             indexWriter = new IndexWriter(directory, indexWriterConfig);
	  	   		Query numbericRangeQuery = NumericRangeQuery.newIntRange("ID",id-1, id+1, false, false);	            
             indexWriter.deleteDocuments(numbericRangeQuery);
             indexWriter.close();
            
             } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
             }           
           
    }


【VAX 小番茄安装详细步骤】 本文详细介绍了在VS2022环境下安装Visual Assist X(番茄助手)的步骤及常见问题解决方案。主要内容包括:安装前的兼容性设置(需修改为Windows7兼容模式)、安装流程(卸载旧版本、勾选对应VS版本、替换关键dll文件)以及常见问题处理(如安装失败、工具栏图标缺失等)。文章提供了完整的下载链接和操作截图,特别强调了安装失败后的清理方法(注册表、安装目录和残余文件删除)。最后给出了安装成功后的测试运行指引。 阅读详情

相关推荐

SolidWorks速成教程P1——简介及基础操作

SolidWorks教程P1——简介及基础操作

嵌入式阿齐Archie 2万+

深入 Lucene 索引机制

Lucene 是一个基于 Java 的全文检索工具包,你可以利用它来为你的应用程序加入索引和检索功能。Lucene 目前是著名的 Apache Jakarta 家族中的一个开源项目,下面我们即将学习 Lucene索引机制以及它的索引文件的结构。在这篇文章中,我们首先演示如何使用 Lucene索引文档,接着讨论如何提高索引的性能。最后我们来分析 Lucene索引文件结构。需要记住

Allin's blog 1356

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4224

Lucene中的各种Field字段

Lucene的Field说明Lucene存储对象是以document为存储单元,对象中相关的属性值则存放到Field中;lucene中所有Field都是IndexableField接口的实现[html] view plain copyorg.apache.lucene.index.IndexableField      Represents a single field for indexing....

qq_28702747的博客 5712

BytesRef源码阅读(Lucene8.0)

1.概述 在Lucene中,有很多地方都会用的基本类型数组,如ByteBlockPool中的二维数byte数组buffers,其中的每一个元素buffer(block)就是一个一维的byte[]。如果我们需要获得block中的某一区间(一般是连续的),则需要数组的拷贝,效率十分低,要在索引过程中需要频繁的读取。BytesRef的出现极大缓解这一问题,它内部可以持有某一个block的引用,通过off...

weixin_42881755的博客 779

Lucene NumericRangeQuery的初步理解

理解NumericRangeQuery, 首先需要理解Lucene是如何存储数值类型. 文本初步探讨了Int和Float两种数值类型Lucene中的存储实现,数值类型的分词原理,  最后给出NumericRangeQuery的简单理解.Lucene最初设计是实现全文检索功能, 即只处理字符串. 因此, 在处理数值时, Lucene也是将数值编码为字符串。将数值转换成字符串, Lucene-5.2...

weixin_34161064的博客 578

Lucene 4.4 依据Int类型字段删除索引

1、方法一,通过Term删除 Term构造中没有。Int类型须要转换成Lucene自带的类BytesRef 。 /** * 依据商品ID删除索引文件 * @param id */ public void deleteDocument(int id) {; File file = new File("E://...

weixin_34061555的博客 98

零基础入门CouchDB-Lucene:从设计文档到索引函数的实用指南 [特殊字符]

你是否正在寻找一个能够为CouchDB文档提供强大全文搜索能力的解决方案?CouchDB-Lucene正是你需要的工具!这个开源项目将Apache Lucene的强大全文搜索引擎与CouchDB的无缝集成完美结合,让你能够在CouchDB中实现高效、灵活的全文搜索功能。 ## 什么是CouchDB-Lucene? 🤔 CouchDB-Lucene是一个独立的Java应用程序,它为CouchD

gitblog_00011的博客 711

lucene的数据类型

文章目录1. lucene的数据类型VInt详解ZInt 详解2. lucene的基本结构1. doc number2. 段(segment) 的信息3. 文件信息3. 文件详细信息1.segment_N ##总览   这里主要想要介绍一下lucene的存储层面的东西,lucene的设计本来就很精巧,所以想了解需要花一些心思的。 1.lucene的数据类型 2.lucene包含了哪些信息 3.拥有哪些文件 1. lucene的数据类型 Byte:是最基本的类型,长8位(bit)。 Int32:由4个Byte

寒夜 1878

lucene 索引文件简介

3Q: http://www.cnblogs.com/forfuture1978/archive/2009/12/14/1623597.html

经常犯错的Zack 1102

lucene6.0+数值型字段排序与范围查询

在使用lucene进行建立索引搜索时,排序与范围查询常会使用到数值型字段int、long、float等,lucene在6.0版本后很多老的api被删除,启用了很多新的处理api,对于数值型字段多了新的处理,原来lucene对于数值型字段还是相对较弱的。lucene主要是采用倒排索引的形式进行建立索引进行查询的,通过term到doc映射达到快速索引的目的,但是在排序、高亮、统计时这种方式也并不高效...

jayson1001的博客 1815

Lucene 2.4更新索引的方法(Update Index)

Lucene里面没有update方法,我查了文档,我们只能删除以前的索引,然后增加新的索引。 具体步骤是,根据关键词,比如url这个唯一的东西,找到已经存在的索引项,然后删除它, 下面是我的一个根据网页URL删除索引的方法,里面主要使用了Item里面保存的一个docId的int类型的参数 这个数字是lucene内部每个索引的顺序号,类似于rowid @SuppressWarnings("unc...

iteye_2179的博客 202

Lucene.NET全文检索实战:从零构建高相关性中文搜索

全文检索是现代应用的核心数据能力,其本质基于倒排索引与TF-IDF相关性模型,解决用户‘输入即响应’的语义匹配需求。Lucene.NET作为.NET平台唯一经十年生产验证的轻量级检索内核,提供毫秒级查询、深度分词控制和零外部依赖部署能力,特别适合中小团队在CMS、知识库、内部系统中快速落地可控搜索。相比SQL模糊查询的性能坍塌与Elasticsearch的运维负担,Lucene.NET以本地索引+可定制Analyzer+字段权重机制,实现中文分词、布尔查询、范围筛选与高亮显示等Baidu式体验。本文聚焦.N

clugcpne10995的博客 344

Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)

一、IndexWriter详解 问题1:索引创建过程完成什么事?     分词、存储到反向索引中 1. 回顾Lucene架构图: 介绍我们编写的应用程序要完成数据的收集,再将数据以document的形式用lucene索引API创建索引、存储。 这里重点要强调应用代码负责做什么,lucene负责做什么。 2. Lucene索引创建API 图示 通过该图介绍luce...

weixin_30515513的博客 99

lucene NumericUtils

主要涉及几个类 NumericRangeQuery 数值型检索类,含(NumericRangeTermEnum)数值型词项迭代器 NumericUtils               索引和检索时,数值型运算类 NumericTokenStream 索引时解析数值型字段的类 NumericField               一、核心函数 1.1 数值转换

Xiao_Qiang_的专栏 1241

Lucene数据写入流程

Lucene的数据写入和倒排数据缓存组织是一个复杂但高效的过程。它涉及到多个内存结构的高效利用和多种优化技术的应用。通过深入理解这些结构和技术,我们可以更好地理解和优化Lucene索引构建和查询过程。同时,这些知识和经验也可以为我们设计和实现自己的搜索引擎提供有益的参考和借鉴。

m0_70066267的博客 845

谈谈lucene中的BytesRefHash

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

weixin_34161029的博客 315

Lucene 7.5.0 BytesRef

BytesRefHash类是专门为BytesRef对象作优化的一种类似hashMap的数据结构,该类的主要用途就是将所有的BytesRef对象存储到一个连续的存储空间中,并且使得能在查询阶段达到 0(1)的时间复杂度。 详情看这里:http://www.amazingkoala.com.cn/Lucene/2019/0218/32.html ...

q364367207的专栏 655

Lucene的数字范围搜索 (Numeric Range Query)原理

0. 全文索引的核心就是倒排索引.     1. 若数字不支持范围查询, 直接变成字符串查找即可     2. 如果要支持范围查询, 直接的字符串存储支持么?      目前lucene要求term按照字典序(lexicographic sortable)排列,然后它的范围查询根据tii找到范围的起始Term,然后把这中间的所有的Term展开成一个B

Nireus的博客 8240

lucene 范围查询及其原理

适用于lucene 6.0。 Int类型的有IntPoint,Double类型的有相应的DoublePoint,以此类推。 1.相关类 org.apache.lucene.document.IntPoint 一个被索引int类型的field。可以代表n维形状,可以范围搜索。 org.apache.lucene.document.IntPoint.IntPoint(String name

yichudu 5154

基于Matlab的球墨铸铁金相图像处理分析.docx

。。。

Python数据分析之金融欺诈行为检测项目源码+数据集+可视化

Python数据分析之金融欺诈行为检测项目源码+数据集+可视化数据集描述该数据集取自某移动支付公司单月的转账日志。对于一条转账记录,预测其是否为欺诈行为。数据列描述:step: 对应现实中的时间单位(小时)type: 转账类型amount: 转账金额nameOrig: 转账发起人oldbalanceOrg: 转账前发起人账户余额newbalanceOrig: 转账后发起人账户余额nameDest: 转账收款人oldbalanceDest: 转账前收款人账户余额。注意,收款人是商户时(M打头的收款人),没有该信息。newbalanceDest: 转账后收款人账户余额。注意,收款人是商户时(M打头的收款人),没有该信息。isFraud: 该转账行为是欺诈行为。这里的欺诈行为是指通过掌控客户账户,然后将其金额全部转账到另一个账户,最后全部提现。isFlaggedFraud: 商业模型为了控制大额转账并且标记为非法操作。在这里,非法操作是指单笔转账中,转账金额超过200,000

上一篇: Lucene 4.4 IndexWriter构造函数中不提供是否增量的参数。
Dylan-Wang
博客等级 码龄18年 18粉丝 57原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值