解压lucene.jar文件,dic目录下是测试用的索引文件,
查看.classpath文件把要jar文件添加进去。本文使用net.paoding.analysis.analyzer.PaodingAnalyzer分词器。怎么使用论坛中有
修改lucene.properties文件中的lucene.index.dir路径
lucene.index.dir=E\:\\lucene\\index1
搜索文件支持pdf,word,ppt,代码在这各路径下
com\starit\lucene\extractor
大家看看IndexWriterFactory,LuceneUtil。有点用处。
模仿javaeye实现同样的分页方式
我的遇到的问题是(在FileScheduler.java):
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
private final Log logger = LogFactory.getLog(getClass());
public static final String MODULE = "file";
private final FileIndexerServer fileIndex = new FileIndexerServer();
private String LUCENE_DOCUMENT_TEMP_DIR = PropsUtil.getString(PropsUtil.LUCENE_DOCUMENT_TEMP_DIR);
private String LUCENE_DOCUMENT_DIR = PropsUtil.getString(PropsUtil.LUCENE_DOCUMENT_DIR);
private LuceneFileExtractor extractor = new LuceneFileExtractor();
public void scanFile() {
Runnable operatorFile = new Runnable() {
public void run() {
logger.debug("开始扫描文件...");
try {
int sum = indexFiles(new File(LUCENE_DOCUMENT_TEMP_DIR));
logger.debug("本次添加文件数量为:" + sum);
} catch (IOException e) {
e.printStackTrace();
}
}
};
final ScheduledFuture fileHandle = scheduler.scheduleAtFixedRate(operatorFile, 30, 60, SECONDS);
scheduler.schedule(new Runnable() {
public void run() {
logger.debug("====");
fileHandle.cancel(true);
}
}, 60*60, SECONDS);
}
用servlet实例这个scheduler,operatorFile每次总会执行两次,单独执行这各文件,到没有遇到这个问题