在windows上使用Lucene生成索引文件,将索引文件复制到Linux服务器上,报错“校验错误,可能是硬件问题”。
所以,Lucene的跨平台只是代码跨平台,生成的索引不跨平台。

使用Java自带的ObjectStream也是一样,实际上并不跨平台。

一定要学会使用日志,重视日志。
e.printStackTrace()默认把错误输出到了标准错误流,所以在日志文件中是看不见异常的。正确姿势是使用logger.error(String msg,Throwable e);
也可以使用System.setErr()进行输入输出重定向,把信息打印到某个文件中去,但是,这种方式不如打印到日志文件中好。日志系统的设计考虑了很多,现在的日志系统不仅效率极高,而且格式化很好、很系统,便于分析找出错误。
三军未动,粮草先行。要把日志摆到头等位置。

下面是异常详情:

org.apache.lucene.index.CorruptIndexException: checksum failed (hardware problem?) : expected=58f3d50e actual=af1eb55c (resource=BufferedChecksumIndexInput(MMapIndexInput(path="/home/ubuntu/poem-index/poem/segments_2")))at org.apache.lucene.codecs.CodecUtil.checkFooter(CodecUtil.java:416)at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:400)at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:284)at org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:57)at org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:54)at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:685)at org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:77)at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:63)at data.model.PoemData.loadIndex(PoemData.java:27)at controller.MyApplication.init(MyApplication.java:47)at controller.MyApplication.configure(MyApplication.java:58)at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:119)at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1617)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1483)at org.apache.catalina.manager.HTMLManagerServlet.upload(HTMLManagerServlet.java:285)at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:206)at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:586)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)

转载于:https://www.cnblogs.com/weiyinfu/p/6812523.html

Lucene的索引不跨平台相关推荐

  1. Lucene.Net---1索引的建立

    转载地址:http://blog.csdn.net/xuezhongsong/article/details/4388241 在建立索引前,先了解下lucene中的一些与索引相关的重要类. 为了对文档 ...

  2. 【示例】Lucene查询索引库编程步骤

    Lucene查询索引库编程步骤

  3. 【示例】Lucene创建索引库编程步骤

    [示例]Lucene创建索引库编程步骤

  4. Lucene学习总结之三:Lucene的索引文件格式(1)

    Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙. 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程, ...

  5. lucene创建索引_Lucene概述第一部分:创建索引

    lucene创建索引 介绍 我最近一直在与开源搜索引擎Lucene合作 . 我不是专家,但是由于我只是浏览了一些相当稀疏的文档并将应用程序从Lucene的很旧的版本迁移到了最新版本的2.4,所以我在总 ...

  6. java代码查询索引文件实例_关于使用pdfbox的对PDF文件通过lucene生成索引文件IndexPDFFiles类代码示例...

    一.前言 下面通过pdfbox的pdfbox-2.0.9源码中org.apache.pdfbox.examples.lucene.IndexPDFFiles索引PDF文件生成类,基于apache的lu ...

  7. Lucene的索引链结构_IndexChain

    Lucene将索引文档的过程设计成两个阶段,写入内存阶段和写入硬盘阶段.在写入内存阶段,Lucene通过IndexChain把document分解并把相关信息存储到内存中,等到满足flush条件(内存 ...

  8. Lucene 的索引文件锁原理

    Lucene 的索引文件锁原理 2016/11/24 · IT技术 · lucene 环境 Lucene 6.0.0 Java "1.8.0_111" OS Windows 7 U ...

  9. elsearch mysql实时索引_MySQL和Lucene(Elasticsearch)索引对比分析

    MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(Solr.ElasticSearch)的核心类库.两者的索引(index)有什么区别呢?以前写过 ...

最新文章

  1. Selenium自动化测试驱动下载
  2. freeswitch呼叫流程分析
  3. 下列哪项能正确遍历文件夹内所有文件?
  4. BugkuCTF-MISC题Photo的自我
  5. 控制台应用和空项目有什么区别_在公司做的项目和自己在学校做的有什么区别?...
  6. OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
  7. 告别传统商务海报版式|绚丽色彩的你,感觉更具现代与活力
  8. Spring→事务、隔离级别、事务传播行为、编程式事务控制、XML配置声明式事务(原始方式)、XML配置声明式事务(基于tx/aop)、@注解配置声明式事务、优势总结
  9. 如何运用接口中的变量?接口可以扩展吗?
  10. KSZ9897 switch 交换机
  11. mac版ps快捷键大全
  12. 得了骨关节炎不能吃什么?
  13. 【360补天计划】记第一次漏洞提交
  14. 2022-07-17 Linux group与user基础概念
  15. alpinestars与丹尼斯_丹尼斯 VS A星,两虎相争骑士得利
  16. 计算机毕业设计(附源码)python英语四六级在线学习系统
  17. 大话设计模式-第12章 牛市股票还会亏钱?--外观模式
  18. golang 字符串随机数_在Go中生成随机数和字符串
  19. CAMs激活图可视化系列——GradCAM
  20. 调用QQ音乐接口,实现自制MV播放器

热门文章

  1. 8.0系统机器激活XPOSED框架失败The Xposed framework is not installed
  2. Mac 终端 显示隐藏文件
  3. Unity 3D 中NGUI插件设置中文label
  4. light oj -1245 - Harmonic Number (II)
  5. REST API之前端跨域访问
  6. 设计模式(八) : 结构型模式--装饰模式
  7. 有什么工具或应用可以帮助找到适合搭配一种颜色的另一种颜色?
  8. cocoapods 安装失败 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.
  9. 搭建SVN服务器详细过程 及 使用方法 Windows端
  10. 城市天气数据获取接口