浏览 433 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-12-15 关键字: lucene
lucene版本:lucene-2.2.0-src.zip
Ant版本:apache-ant-1.7.0-bin.zip JDK版本:jdk1.5.0_12 使用ANT war-demo 编译生成的两个JAR文件:lucene-core-2.2.0.jar和lucene-demos-2.2.0.jar也加到了CLASSPATH 写了一个建立索引的类如下:
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.util.Date;
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;
public class TxtFileIndexer{
public static void main(String[] args) throws Exception{
File indexDir=new File("d:\\test\\luceneIndex");
File dataDir=new File("d:\\test\\luceneData");
Analyzer luceneAnalyzer=new StandardAnalyzer();
File[] dataFiles=dataDir.listFiles();
IndexWriter indexWriter=new IndexWriter(indexDir,luceneAnalyzer,true);
long startTime= new Date().getTime();
for(int i=0;i<dataFiles.length;i++){
if(dataFiles[i].isFile()&&dataFiles[i].getName().endsWith(".txt")){
System.out.println("Indexing file"+dataFiles[i].getCanonicalPath());
Document document=new Document();
Reader txtReader=new FileReader(dataFiles[i]);
document.add(Field.Text("path",dataFiles[i].getCanonicalPath()));
document.add(Field.Text("contents",txtReader));
indexWriter.addDocument(document);
}
}
indexWriter.optimize();
indexWriter.close();
long endTime=new Date().getTime();
System.out.println("it takes " +(endTime-startTime)+" milliseconds to create index for the files in directory "+dataDir.getPath());
}
}
编译时却出错:"找不到符号" document.add(Field.Text(...)行.. ^ 在"."那位置报错...百度后发现遇到此问题的不只我一人.... 不知道是不是版本的问题呢...请达人相助...谢谢~ 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-12-15
查看org.apache.lucene.document.Field类....发现里面并没有实现"Text()"方法...
代码是http://www-128.ibm.com/developerworks/cn/java/j-lo-lucene1/提供的应该不存在问题... 郁闷了... |
|
| 返回顶楼 | |
|
最后更新时间:2007-12-16
已解决。。。原来是版本的问题。。-_-
|
|
| 返回顶楼 | |
|
最后更新时间:2008-05-29
document.add(new Field("path","加入的内容",Field.Store.YES,Field.Index.TOKENIZED);
使用这个方式加入字段 |
|
| 返回顶楼 | |


