📄 indexhtml.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: IndexHTML.java
package com.laoer.bbscs.lucene;
import com.laoer.bbscs.sys.SysUtil;
import java.io.File;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.*;
// Referenced classes of package com.laoer.bbscs.lucene:
// HTMLDocument
public class IndexHTML
{
private static final Log logger;
private static boolean deleting = false;
private static IndexReader reader;
private static IndexWriter writer;
private static TermEnum uidIter;
static Class class$com$laoer$bbscs$lucene$IndexHTML; /* synthetic field */
public IndexHTML()
{
}
public static synchronized void doIndex(boolean iscreate)
{
try
{
String index = SysUtil.getIndexPath();
boolean create = iscreate;
File root = new File(SysUtil.getPostFilePath());
Date start = new Date();
if(!create)
{
deleting = true;
indexDocs(root, index, create);
}
writer = new IndexWriter(index, new StandardAnalyzer(), create);
writer.maxFieldLength = 0x5f5e100;
indexDocs(root, index, create);
logger.info("Optimizing index...");
writer.optimize();
writer.close();
Date end = new Date();
logger.info((end.getTime() - start.getTime()) + " total milliseconds");
}
catch(Exception e)
{
System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage());
logger.error(e);
}
}
public static void main(String argv[])
{
String index;
boolean create;
File root;
String usage;
index = "index";
create = false;
root = null;
usage = "IndexHTML [-create] [-index <index>] <root_directory>";
if(argv.length == 0)
{
System.err.println("Usage: " + usage);
return;
}
int i = 0;
_L2:
if(i >= argv.length)
break MISSING_BLOCK_LABEL_147;
if(argv[i].equals("-index"))
{
index = argv[++i];
break MISSING_BLOCK_LABEL_141;
}
if(argv[i].equals("-create"))
{
create = true;
break MISSING_BLOCK_LABEL_141;
}
if(i != argv.length - 1)
{
System.err.println("Usage: " + usage);
return;
}
root = new File(argv[i]);
i++;
if(true) goto _L2; else goto _L1
_L1:
Date start = new Date();
if(!create)
{
deleting = true;
indexDocs(root, index, create);
}
writer = new IndexWriter(index, new StandardAnalyzer(), create);
writer.maxFieldLength = 0xf4240;
indexDocs(root, index, create);
System.out.println("Optimizing index...");
writer.optimize();
writer.close();
Date end = new Date();
System.out.print(end.getTime() - start.getTime());
System.out.println(" total milliseconds");
break MISSING_BLOCK_LABEL_301;
Exception e;
e;
System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage());
}
private static void indexDocs(File file, String index, boolean create)
throws Exception
{
if(!create)
{
reader = IndexReader.open(index);
uidIter = reader.terms(new Term("uid", ""));
indexDocs(file);
if(deleting)
{
for(; uidIter.term() != null && uidIter.term().field() == "uid"; uidIter.next())
reader.delete(uidIter.term());
deleting = false;
}
uidIter.close();
reader.close();
} else
{
indexDocs(file);
}
}
private static void indexDocs(File file)
throws Exception
{
if(file.isDirectory())
{
String files[] = file.list();
Arrays.sort(files);
for(int i = 0; i < files.length; i++)
indexDocs(new File(file, files[i]));
} else
if(file.getPath().endsWith(".html") || file.getPath().endsWith(".htm") || file.getPath().endsWith(".txt"))
if(uidIter != null)
{
String uid;
for(uid = HTMLDocument.uid(file); uidIter.term() != null && uidIter.term().field() == "uid" && uidIter.term().text().compareTo(uid) < 0; uidIter.next())
if(deleting)
reader.delete(uidIter.term());
if(uidIter.term() != null && uidIter.term().field() == "uid" && uidIter.term().text().compareTo(uid) == 0)
uidIter.next();
else
if(!deleting)
{
org.apache.lucene.document.Document doc = HTMLDocument.Document(file);
writer.addDocument(doc);
}
} else
{
org.apache.lucene.document.Document doc = HTMLDocument.Document(file);
writer.addDocument(doc);
}
}
static Class class$(String x0)
{
return Class.forName(x0);
ClassNotFoundException x1;
x1;
throw new NoClassDefFoundError(x1.getMessage());
}
static
{
logger = LogFactory.getLog(class$com$laoer$bbscs$lucene$IndexHTML != null ? class$com$laoer$bbscs$lucene$IndexHTML : (class$com$laoer$bbscs$lucene$IndexHTML = class$("com.laoer.bbscs.lucene.IndexHTML")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -