/**
* V Lucene 3.5
* 创建索引
*/
public static void createIndex(){
File indexDir = new File(LUCENEINDEX);
File dataDir = new File(LUCENEDATA);
Analyzer luceneAnalyzer = new StandardAnalyzer(Version.LUCENE_35);
File[] dataFiles = indexDir.listFiles();
IndexWriter indexWriter = null;
try {
/**
* indexWriter = new IndexWriter(SimpleFSDirectory.open(dataDir),luceneAnalyzer, true,IndexWriter.MaxFieldLength.LIMITED);
* 在最新版中这种方式已被不使用。
* 现在使用下面的方式创建indexWriter
*/
IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_35, luceneAnalyzer);
indexWriter = new IndexWriter(SimpleFSDirectory.open(dataDir), indexWriterConfig);
long startTime = new Date().getTime();
//注意:filed实例在多次添加的时候可以重用,节约构造field实例的时间。
Field f1 = new Field("name", "", Field.Store.YES, Field.Index.NOT_ANALYZED) ;
Field f2 = new Field("path", "", Field.Store.YES, Field.Index.NOT_ANALYZED) ;
List<FilePojo> result = tree(indexDir);
for (FilePojo po : result) {
String name = po.getName();
String path = po.getPath();
try {
System.out.println("Indexing file: " + path);
Document doc = new Document();
f1.setValue(name);
doc.add(f1);
f2.setValue(path);
doc.add(f2);
indexWriter.addDocument(doc);
} catch (IOException e) {
e.printStackTrace();
}
}
//查看IndexWriter里面有多少个索引
System.out.println("numDocs:"+indexWriter.numDocs());
indexWriter.commit();
long endTime = new Date().getTime();
System.out.println("耗时:" + (endTime - startTime));
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (LockObtainFailedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
indexWriter.close();
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 递归方法
private static List tree(File f) {
File[] childs = f.listFiles();
for (int i = 0; i < childs.length; i++) {
if (childs[i].isDirectory()) {
tree(childs[i]);
}else if(childs[i].isFile() && childs[i].getName().endsWith(".html")){
//执行索引
try {
FilePojo po = new FilePojo();
po.setName(childs[i].getName());
po.setPath(childs[i].getCanonicalPath());
result.add(po);
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
分享到:
相关推荐
包含翻译后的API文档:lucene-analyzers-smartcn-7.7.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-analyzers-smartcn:7.7.0; 标签:apache、lucene、analyzers、smartcn、中文文档...
包含翻译后的API文档:lucene-analyzers-common-6.6.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-analyzers-common:6.6.0; 标签:apache、analyzers、common、lucene、jar包、java...
包含翻译后的API文档:lucene-suggest-6.6.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-suggest:6.6.0; 标签:apache、lucene、suggest、jar包、java、中文文档; 使用方法:解压...
包含翻译后的API文档:lucene-core-7.7.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-core:7.7.0; 标签:apache、lucene、core、中文文档、jar包、java; 使用方法:解压翻译后的API...
包含翻译后的API文档:lucene-core-7.2.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-core:7.2.1; 标签:apache、lucene、core、中文文档、jar包、java; 使用方法:解压翻译后的API...
包含翻译后的API文档:lucene-backward-codecs-7.3.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-backward-codecs:7.3.1; 标签:apache、lucene、backward、codecs、中英...
包含翻译后的API文档:lucene-analyzers-smartcn-7.7.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-analyzers-smartcn:7.7.0; 标签:apache、lucene、analyzers、smartcn...
包含翻译后的API文档:lucene-spatial-extras-7.3.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-spatial-extras:7.3.1; 标签:apache、lucene、spatial、extras、中英对照...
包含翻译后的API文档:lucene-spatial-extras-7.2.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-spatial-extras:7.2.1; 标签:apache、lucene、spatial、extras、中英对照...
赠送jar包:lucene-spatial-extras-6.6.0.jar; 赠送原API文档:lucene-spatial-extras-6.6.0-javadoc.jar; 赠送源代码:lucene-spatial-extras-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-spatial-extras...
lucene-core-2.9.4,lucene-core-3.0.2,lucene-core-3.0.3,lucene-core-3.4.0
包含翻译后的API文档:lucene-sandbox-7.2.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-sandbox:7.2.1; 标签:apache、lucene、sandbox、中文文档、jar包、java; 使用方法:解压...
包含翻译后的API文档:lucene-backward-codecs-7.2.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-backward-codecs:7.2.1; 标签:apache、lucene、backward、codecs、中英...
赠送jar包:lucene-core-6.6.0.jar; 赠送原API文档:lucene-core-6.6.0-javadoc.jar; 赠送源代码:lucene-core-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-core-6.6.0.pom; 包含翻译后的API文档:lucene...
<add key="fileName" value="D:\\Lucene\\sendmessage\\Debug\\log\\" /> <!--连接服务器时间--> <add key="connectedTime" value="2000" /> <!--发送短信的时间--> <add key="ReadData" value="1000" /> <!--...
lucene jar包,lucene,lucene-core-3.0.2.jar;lucene-demos-3.0.2.jar
Lucene搜索引擎开发进阶实战----高清版 Lucene搜索引擎开发进阶实战----高清版
包含翻译后的API文档:lucene-core-6.6.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-core:6.6.0; 标签:core、apache、lucene、jar包、java、中文文档; 使用方法:解压翻译后的API...
包含翻译后的API文档:lucene-backward-codecs-6.6.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-backward-codecs:6.6.0; 标签:apache、codecs、lucene、backward、jar包、java、...
包含翻译后的API文档:lucene-memory-6.6.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.lucene:lucene-memory:6.6.0; 标签:apache、memory、lucene、jar包、java、中文文档; 使用方法:解压翻译...