LUCENE 2.9 如何正常读取压缩后的整形,长整形及浮点数值?(解读 Invalid shift value in prefixCoded string 异常)

从PX4的FRD到Mavros的FLU:手把手教你正确配置`setpoint_raw/local`话题发布无人机目标点 本文详细解析了PX4的FRD与Mavros的FLU坐标系转换问题,手把手教你正确配置`setpoint_raw/local`话题发布无人机目标点。通过实战指南和常见错误排查,帮助开发者避免方向错乱问题,提升无人机控制精度。 阅读详情

今天有一个需要从索引中读取数值型数据的需求,然后就轻车熟路写了如下代码:

 

结果竟发现读出的数据为 null !!!???

 

一番GOOGLE,刚开始还觉得

新的版本对LUCENE做了较大改动,为了提升整形,浮点的检索及排序效率,LUCENE使用了  NumericUtils 类对数值进行压缩。

 

同样,我也使用了 NumericUtils.prefixCodedToInt(value) ,结果报如下异常:

 

 

 

 

 

后来直接在SOLR的源代码搜了起来,为什么SOLR能够正常识别??

狂搜一番,竟在一个 TriedField类中找到了蹊跷~~

 

原来,Document 已经将其数值转换为正常的数值了,但是仍然是byte[]数组类型,这种境况实在让人费解,也很容易让人误入歧途,不知道LUCENE研发团队怎么想的。

废话少说,来解决方案:

 

增加几个辅助函数:

 

 

 

 

 

以下是调用代码:

 

 

 

 

 

2.STM32F407ZGT6 学习笔记-移植 FreeRTOS 1. 在工程下建议FreeRTOS文件夹 2. 在FreeRTOS文件夹下建立 src 和 port 文件夹 (src用于存放freertos源码,port文件夹存放内存和接口相关的文件) 3. 复制freertos/source文件夹下所有c文件复制到刚刚建立的freertos/src目录下 4. 复制FreeRTOSv9.0.0\FreeRTOS\Source\portablex下的MemMang和RVDS文件夹复制到刚刚建立的port问价夹下 5. 将FreeRTOSv9.0.0\FreeRTOS 阅读详情

相关推荐

ovs实现lb负载均衡

负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上,以确保系统的负载均衡。二层负载均衡‌:使用虚拟MAC地址方式,根据OSI模型的二层进行负载均衡。‌四层负载均衡‌:基于IP+端口的负载均衡,主要分析IP层及TCP/UDP层,实现四层负载均衡。‌七层负载均衡‌:从应用层开始,根据虚拟的URL或IP、主机名接收请求,再转向相应的处理服务器。

bobi的博客 953

Lucene.Net 2.9.2.2 Invalid shift value in prefixCoded string (is encoded value really an INT?) 异常排查处...

问题:应用的一个Lucene.Net搜索程序, Dll从2.4升级到2.9.2.2, 发生异常: Exception: System.FormatException Message: Invalid shift value in prefixCoded string (is encoded value really an INT?) 排查:跟踪代码发现 searcher.Search(wq...

weixin_30412577的博客 219

逆向拼多多长连接:Frida+Python协议还原实战

长连接是现代移动App实现低延迟、高并发通信的核心技术,其原理在于复用TCP通道避免HTTP频繁建连开销,并通过自定义二进制协议提升传输效率与安全性。在电商场景中,长连接不仅承载业务数据,更集成了动态密钥协商、设备指纹绑定、应用层加密等多重防护机制,显著提升数据窃取与自动化采集难度。本文聚焦真实商业级长连接逆向工程,以拼多多(PDD)v12.86.0为案例,详解如何利用Frida在JNI层精准Hook encrypt/decrypt函数捕获明文,结合Python构建协议解析器与会话管理器,实现对商品详情(I

weixin_30843121的博客 1117

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)...

最近在做一个电商项目,其中商品搜索中出现一个奇怪的现象,根据某个字段排序的时候会出现商品数量减少的情况。按照一般路要么查不出来,要么正常显示,为什么增加了按照销量排序就会出现查询结果减少的情况。 查了下ES日志发现有报错:nested: NumberFormatException[Invalid shift value in prefixCoded bytes (is encoded v...

weixin_30537391的博客 365

科研效率革命:Zotero与Web of Science联动实现千篇文献一键获取

本文详细介绍了如何利用Zotero与Web of Science联动实现科研文献的高效管理,包括批量导入、智能下载和自动整理千篇文献的技巧。通过精准检索、RIS文件导出和Zotero插件设置,科研人员可以大幅提升文献获取和管理的效率,特别适合开题报告和综述写作等场景。

weixin_29219539的博客 254

erdas监督分类(二)

去云 用一张没有云的影像替代有云影像 构建aoi图层 将云和云影编码合并 重编码工作 在监督分类做的差不多以后(纠正无误,无明显错误),就要对监督分类图像进行重编码和颜色调整。 在中选中Recode,对原来分类的地物类别进行重编码,(为彻底修改,记得备份)选中一列,在New Value输入新的编码,依次编码后点击应用apply,即可实现。 这时的图像如果是全黑的或者只有一两类的颜色也没有关系,新的编码覆盖掉了原来的编码,但是颜色并没有改变才会这样。可以点击图像,右击...

weixin_58968530的博客 958

数据类型转换错误

异常: Invalid shift value (64) in prefixCoded bytes (is encoded value really an INT?) 查了下ES日志发现有报错:nested: NumberFormatException[Invalid shift value in prefixCoded bytes (is encoded value really an...

iteye_6322的博客 462

RingBuffer 环形缓冲区----镜像指示位

称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。这个宏定义用于计算向下对齐的地址。size和align。size是要对齐的内存大小,align是所需的对齐大小。这个宏返回一个值,该值是size向下对齐到align边界后的地址。例如,假设我们有一个 32 位的系统,并且我们需要将数据对齐到 64 位的边界。我们可以使用在这个例子中,data数组的大小为 10 个元素,我们需要将其对齐到 8 字节边界。宏返回data。

呵呵哒!的博客 2408

Lucene整合项目

1:导入Lucene相关的jar包 其中: lucene-core-3.6.2.jar(核心包) lucene-analyzers-3.6.2.jar(分词器) lucene-highlighter-3.6.2.jar(高亮) lucene-memory-3.6.2.jar(高亮) IKAnalyzer2012_u6.jar(中文分词器) 2:lucene原理图 ...

weixin_30882895的博客 206

PPO(Proximal Policy Optimization)算法原理及实现,详解近端策略优化

接着上面的讲,PG方法一个很大的缺点就是参数更新慢,因为我们每更新一次参数都需要进行重新的采样,这其实是中on-policy的策略,即我们想要训练的agent和与环境进行交互的agent是同一个agent;与之对应的就是off-policy的策略,即想要训练的agent和与环境进行交互的agent不是同一个agent,简单来说,就是拿别人的经验来训练自己。举个下棋的例子,如果你是通过自己下棋来不断提升自己的棋艺,那么就是on-policy的,如果是通过看别人下棋来提升自己,那么就是off-policy的。

weixin_41106546的博客 9万+

3分钟搞懂欧式距离变换(EDT):从暴力算法到Felzenszwalb的演进史

本文系统梳理了欧式距离变换(EDT)从暴力算法到高效线性算法的演进历程。重点解析了光栅扫描算法和Felzenszwalb算法的核心思想与实现,并探讨了其在机器人路径规划中生成欧几里得符号距离场(ESDF)的关键应用,为开发者提供了清晰的算法选型与实战指南。

fern8的博客 978

处理solr时遇到的问题

前面的博客说了,我在解决solr索引的问题,但是后面我遇到的问题一次比一次严重,上次还能访问solr和系统,上次博客中看到我的solr上面有报错,那是我new_core出现的问题,我作死的在linux中删除了new_core文件 GAME OVER solr崩了,因为我技术不深所以没找到正确的错误原因 当时我立即对solr和tomcat进行操作但是linux不允许任何操作,df -...

安余生的博客 8537

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 931

java.lang.NumberFormatException 错误及解决办法

前言:        在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去空格,结果页面加载时就报500错误了。   错误截图: 在报错后注意分析报错信息,如上图提示在ShopController.java 的92行出错了,那么错误就很容易定位了,去看那里的代码。 ...

向死而生 33万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

java字符串转换数值类型出现异常赋予默认值

可以自定义工具方法,例如: public static int parseInt(String s, int defaultValue) { if (s == null) return defaultValue; try { return Integer.parseInt(s); } catch (NumberFormatException x) { return defau

Boone的博客 9786

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

solr报错解决

1 1)Caused by: org.apache.solr.common.SolrException: Error initializing QueryElevationComponent. 2)Caused by: java.lang.NumberFormatException: For input string: "MA147LL/A" 方案:solrconfig.xml配置文件注释掉...

weixin_33782386的博客 471

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

结合lucene谈谈浮点数的压缩问题

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

weixin_33966095的博客 822

Solr6-踩坑

一、踩坑: 1、tomcat需使用tomcat8,用7会有很多莫名其妙的错误。如admin ui页面,各种css、js资源404。。还有logging页面,各种java异常提示,servlet api方法不存在等等。 JDK1.8版本以上。 2、新版本的solr,schema.xml采用managed-schem文件,增加filed、fieldType直接在该文件中修改。 二、

near1024的专栏 2783

谈谈lucene的数据域存储

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

weixin_34319999的博客 810

lucene3.0.3中的数字索引以及数字范围查询

      我看了3个下午,加上一个上午终于看懂了lucene对于数字的索引和对于数字范围的检索,主要的时间都是花在了NumericRangeQuery上,尽管一次一次的失败但是我并没有放弃的打算,研究与探索本来就是我的一大兴趣,最后的喜悦要比之前所有的痛苦都要来的爽!谢谢笔记,方便可能正在迷茫的你。备注:如果你对lucene的索引格式不熟悉尤其刚接触lucene的话,请绕行,这片笔记只适合对...

iteye_14612的博客 653

lucene NumericUtils

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

Xiao_Qiang_的专栏 1243

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 5178

solr使用过程中遇到的一些问题

1.solr部署到tomcat报错 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。  有可能是由于上面的web.xml中写了中文的注释 2.对表进行查询时 http://localhost:8080/solr/db/dataimport

段宜恩的博客 1万+

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

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

jimmee的专栏 843

andorid报错之.NumberFormatException: Invalid int: "6.00"

一个类型转换的报错

一个人的暗 1万+

Lucene搜索语法中类似SQL语法中IN的用法

今天摸索了一个Lucene中类似于SQL语法中 IN 的用法:   ID:(XZXT_009_XZ_XXKW_79563842107502 OR XZXT_009_XZ_XXKW_77144338881602 OR XZXT_009_XZ_XXKW_59998214491402 OR XZXT_009_XZ_XXKW_86645151264302 OR XZXT_009_XZ_XXKW_660...

听雨轩 1462
上一篇: 通过对QParser类的继承 实现SOLR 半匹配检索(模糊搜索/模糊检索) (一)
下一篇: Lucene2.9 TokenStream新的遍历方法
thundersssss
博客等级 码龄19年 26粉丝 27原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值