最近做的全文搜索的成果,分享给大家,同遇到一个问题,想请教!

解压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每次总会执行两次,单独执行这各文件,到没有遇到这个问题

你可能感兴趣的:(java,.net,servlet,Lucene)