解决org.apache.lucene.store.AlreadyClosedException: this Directory is closed
在Lucene中,关闭一个IndexWriter时抛出AlreadyClosedException异常:
org.apache.lucene.store.AlreadyClosedException: this Directory is closed
at org.apache.lucene.store.BaseDirectory.ensureOpen(BaseDirectory.java:66) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.store.FSDirectory.deleteFile(FSDirectory.java:269) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexFileDeleter.deleteFile(IndexFileDeleter.java:595) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexFileDeleter.deleteNewFiles(IndexFileDeleter.java:582) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.deleteNewFiles(IndexWriter.java:4693) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.DocumentsWriter$DeleteNewFilesEvent.process(DocumentsWriter.java:739) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:4746) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:4738) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3198) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3170) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:991) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:935) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:897) ~[lucene-core-4.8.1.jar:4.8.1 1594670 – rmuir – 2014-05-14 19:22:52]
有人说这是因为index目录下的write.lock没有被删除,其实并不是这样。
真正的原因是,IndexWriter依赖于一个Directory,当Directory关闭的时候,IndexWriter也就随之关闭了。所以正确的关闭顺序是
先关闭IndexWriter
后关闭Directory
解决org.apache.lucene.store.AlreadyClosedException: this Directory is closed的更多相关文章
- MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0
1 开发Servlet程序时,MyEclipse配置好tomcat与JDK之后,启动时控制台报下列错误: 1 java.lang.UnsupportedClassVersionError: org/a ...
- java.lang.ClassNotFoundException: org.apache.lucene.store.Directory
看下你的lucene-core.jar有没有在WEB-INF\lib下.
- 【Lucene】Apache Lucene全文检索引擎架构之入门实战1
Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟的 ...
- Apache Lucene(全文检索引擎)—创建索引
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...
- Apache Lucene全局搜索引擎入门教程
Lucene简介 Lucent:Apache软件基金会Jakarta项目组的一个子项目,Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟 ...
- 【手把手教你全文检索】Apache Lucene初探 (zhuan)
http://www.cnblogs.com/xing901022/p/3933675.html *************************************************** ...
- 关于org.apache.lucene.queryParser.ParseException: Encountered "" 解决方法
现象: org.apache.lucene.queryParser.ParseException: Encountered "<EOF>" at line 1, col ...
- 使用 Apache Lucene 和 Solr 4 实现下一代搜索和分析
使用 Apache Lucene 和 Solr 4 实现下一代搜索和分析 使用搜索引擎计数构建快速.高效和可扩展的数据驱动应用程序 Apache Lucene™ 和 Solr™ 是强大的开源搜索技术, ...
- Apache Lucene学习笔记
Hadoop概述 Apache lucene: 全球第一个开源的全文检索引擎工具包 完整的查询引擎和搜索引擎 部分文本分析引擎 开发人员在此基础建立完整的全文检索引擎 以下为转载:http://www ...
随机推荐
- eclipse中项目出现红色的!
eclipse中项目出现红色的!的原因有二个:1.jdk不匹配 2.缺少jar包
- Pollard Rho因子分解算法
有一类问题,要求我们将一个正整数x,分解为两个非平凡因子(平凡因子为1与x)的乘积x=ab. 显然我们需要先检测x是否为素数(如果是素数将无解),可以使用Miller-Rabin算法来进行测试. Po ...
- Laravel 使用 seeder 使用要点
一.关于 DB use DB; 再使用 DB::table(database.table)->get(); 二.关于 ERROR 1366 (HY000): Incorrect string v ...
- Brophp Nginx 虚拟主机的配置
默认情况下,Nginx 不支持 pathinfo 配置,通过查看了 Thinkphp Nginx 的配置情况,对虚拟主机配置修改如下: server { listen 80; list ...
- 进入docker的4种方式
在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进入Docker容器比较常见的几种 ...
- SGU 194 Reactor Cooling (有容量和下界的可行流)
题意:给定上一个有容量和下界的网络,让你求出一组可行解. 析:先建立一个超级源点 s 和汇点 t ,然后在输入时记录到每个结点的下界的和,建边的时候就建立c - b的最后再建立 s 和 t , 在建立 ...
- php 访问用友u8数据
<?php namespace app\api\controller; use think\Controller; use think\Db; use think\Log; /** * desc ...
- swift NSURLSession 使用方法
//NSURLSession /*创建一个session ->创建一个task -> 启动task -> 处理回调 */ //http://www.douban.com/j/app/ ...
- 个人作业代码GitHub提交步骤
代码提交地址: https://github.com/eudaem/homework1 步骤: 1)用个人账号登陆GitHub,并访问代码提交地址页面,点击页面右上角的“Fork”按钮,拷贝homew ...
- TogetherJS本地部署,基于websocket的网页即时视频、语音、文字聊天
TogetherJS分为两大部分,一个是hu文件夹中的服务端:另外一个是TogetherJS文件夹中的Together.JS文件,包含了所有的网页文字.语音等操作. 需要预先安装Node.js,可以百 ...