永发信息网

使用lucene建立索引时,出现write.lock,求高手修改,代码如下

答案:2  悬赏:10  手机版
解决时间 2021-03-10 21:24
package org.whu.edu.irb.lucene;

import java.io.BufferedReader;

import java.io.File;
import java.io.FileReader;
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.IndexWriter;
import org.apache.lucene.store.Directory;

import org.apache.lucene.store.SimpleFSDirectory;
import org.apache.lucene.util.Version;

public class TestFileIndex {
public static void main(String[] args) throws IOException {
File fileDir = new File("E:\\Test");// 表示需索引文件存放的地址;
File indexDir = new File("E:\\luceneindex");// 表示文件索引后将要存放的地址
Analyzer luceneanlyzer = new StandardAnalyzer(Version.LUCENE_30);
Directory dir = new SimpleFSDirectory(indexDir);
IndexWriter indexWriter = new IndexWriter(dir, luceneanlyzer, true,
IndexWriter.MaxFieldLength.UNLIMITED);
File[] files = fileDir.listFiles();
System.out.println(files.length);
for (int i = 0; i < files.length; i++) {
Document doc = new Document();
doc.add(new Field("content",
fileReader(files[i].getAbsolutePath()), Field.Store.NO,
Field.Index.ANALYZED));
doc.add(new Field("filename", files[i].getName(), Field.Store.YES,
Field.Index.ANALYZED_NO_NORMS));
indexWriter.addDocument(doc);

}
System.out.println("numDocs:" + indexWriter.numDocs());
indexWriter.close();
}

public static String fileReader(String filepath) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(new File(
filepath)));
String line = new String();
String temp = new String();
while ((line = reader.readLine()) != null) {
temp += line;

}
reader.close();
return temp;
}

}
最佳答案
我感觉应该是fileReader这个函数出错了,如果fileDir目录下有子目录,或者这个目录下有比较大的文件,获取内容就会失败,这样就不会执行ndexWriter.close();这句。程序中应该加一些异常判断和保护就可以了。
全部回答
我。。知。。道 加。。我。。私。。聊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单这个字怎么读
为什么我的华为荣耀6P接电话和打电话别人听不
找张国荣一首歌 穿红西装在演唱会唱的
柯威特力美健身合作店在哪里啊,我有事要去这
申请日本留学签证,持有在留,但是高中毕业证
工作效率是不是每天的工作量
-cos(α-45°)=sin(α+45°)对吗?
苹果4s开机时有振动怎样关闭
胸口岔气是怎么回事
宝岛眼镜(连锁)NO.817怎么去啊,有知道地址的
黄冈师范学院有建筑类的相关专业吗
应考虑以下情况中的A.诊断无误B.合并肺外结核
鲁宾逊漂流记里反映除了英国资产阶级革命的必
led灯鞋鬼步舞女生最低多少钱
属马水瓶座男和属狗摩羯座女配么?
推荐资讯
鹿泉区公安分局黄壁庄派出所在什么地方啊,我
天津车辆违章必须马上办理缴费吗
八圣乡在什么地方啊,我要过去处理事情
漫驼铃西域风情餐厅大华店地址在哪,我要去那
鸡西市口岸管理委员会办公室地址有知道的么?
洲心沥头小学在哪里啊,我有事要去这个地方
找一部电影,讲的是主角家族的男人遗传一项可
普通软卧车厢有可自由换台的电视么?床铺干净
有什么可以打装备升级的单机电脑游戏
现代305-9挖掘机整机故障代码
【摩斯码】摩斯码na^07!是什么意思?急啊~~~
工业园酒楼我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?