锘??xml version="1.0" encoding="utf-8" standalone="yes"?>97在线超碰,国产精品一区二区a,91国在线观看http://www.aygfsteel.com/hanchul/category/30643.htmlzh-cnSat, 31 May 2008 22:49:12 GMTSat, 31 May 2008 22:49:12 GMT60- 绱㈠紩璇誨啓鍣╛FSDiractory妯″紡http://www.aygfsteel.com/hanchul/archive/2008/06/01/205117.htmlHanLabHanLabSat, 31 May 2008 21:11:00 GMThttp://www.aygfsteel.com/hanchul/archive/2008/06/01/205117.htmlhttp://www.aygfsteel.com/hanchul/comments/205117.htmlhttp://www.aygfsteel.com/hanchul/archive/2008/06/01/205117.html#Feedback0http://www.aygfsteel.com/hanchul/comments/commentRss/205117.htmlhttp://www.aygfsteel.com/hanchul/services/trackbacks/205117.html
package indexer;
//package ch2.lucenedemo.process;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import jeasy.analysis.MMAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import parameters.Param;
import pretreat.FileControl;
public class IndexOnFS implements IIndexTool{
// 鎴愬憳鍙橀噺瀛樺偍鍒涘緩鐨勭儲寮曟枃浠跺瓨鏀劇殑浣嶇疆
private String INDEX_STORE_PATH = Param.INDEX_STORE_PATH;
//寤虹珛绱㈠紩鐨勭洰鏍囨枃浠?/span>
private String INDEX_WANTED_PATH = "e:\\";
//鐩綍鏁扮粍鎬繪暟
private int NumOfDir = 0;
//瀛樻斁鏍圭洰褰曚笅鐨勬墍鏈夊瓙鐩綍
private ArrayList<String> DirList = new ArrayList<String>();
//鍦板潃鏄犲皠
private Directory dir = null;
private IndexWriter writer;
public IndexOnFS(String path){
try {
dir = FSDirectory.getDirectory(INDEX_STORE_PATH);
} catch (IOException ex) {
Logger.getLogger(IndexOnFS.class.getName()).log(Level.SEVERE, null, ex);
}
INDEX_WANTED_PATH = path;
makeSegments();
searchDirectorys(path);
}
//寤虹珛绱㈠紩涔嬪墠閬嶅巻鎵鏈夌洰褰曞茍瀛樻斁錛岃繖鏄負浜嗚繋鍚圛ndexWriter鐨勫悓姝ユ満鍒?/span>
public void searchDirectorys(String rootDir){
File rootfile = new File(rootDir);
File[] files = rootfile.listFiles();
if(files!=null)
for (int i = 0; i < files.length; i++){
if(files[i].isDirectory()){
DirList.add(files[i].getPath());
searchDirectorys(files[i].getPath());
}
}
}
public void printAllDirectorys(){
for(int i = 0;i<DirList.size();i++)
System.out.println(DirList.get(i));
}
public void createIndexs() {
createIndex(INDEX_WANTED_PATH);
for(int k = 0;k<DirList.size();k++)
createIndex(DirList.get(k));
}
public Document preIndexWrite(File file){
// 鍒涘緩涓涓柊鐨凞ocument
Document doc = new Document();
// 鏂囦歡鍚嶅搴旂殑Field
Field field = new Field("filename", file.getName(),
Field.Store.YES, Field.Index.TOKENIZED);
doc.add(field);
// 鏂囦歡鍐呭瀵瑰簲鐨凢iled
field = new Field("content", FileControl.fileToString(file),//杞埌鎺у埗鍣?/span>
Field.Store.NO, Field.Index.TOKENIZED);
doc.add(field);
//鏂囦歡璺緞瀵瑰簲鐨凢iled
field = new Field("filepath", file.getPath(),
Field.Store.YES, Field.Index.TOKENIZED);
doc.add(field);
return doc;
}
/*鍗曠洰褰曞垱寤虹儲寮?/span>*/
public void createIndex(String inputDir) {
try {
/*MMAnalyzer浣滀負鍒嗚瘝宸ュ叿鍒涘緩涓涓狪ndexWriter*/
writer = new IndexWriter(dir,new MMAnalyzer(), false); /*絎竴嬈″垱寤虹儲寮曟椂涓簍rue*/
File filesDir = new File(inputDir);
/*鍙栧緱鎵鏈夐渶瑕佸緩绔嬬儲寮曠殑鏂囦歡鏁扮粍*/
File[] files = filesDir.listFiles();
/*閬嶅巻鏁扮粍*/
if(files!=null)
for (int i = 0; i < files.length; i++) {
/*鍒ゆ柇鏄惁涓烘枃浠?/span>*/
if(files[i].isFile()){
/*鎶奃ocument鍔犲叆IndexWriter*/
writer.addDocument(preIndexWrite(files[i]));
System.out.println( files[i].getPath());
}
}
writer.optimize(); /*绱㈠紩浼樺寲*/
} catch (Exception e) { e.printStackTrace(); }
finally{
try{writer.close();
}catch(Exception ee){ ee.printStackTrace(); }
}
}
//鍒濆鍖栫┖绱㈠紩搴?/span>
public void makeSegments(){
if(new File(INDEX_STORE_PATH).list().length==0){
try {
IndexWriter iw = new IndexWriter(dir, new MMAnalyzer(), true);
writer.addDocument(preIndexWrite(new File(Param.INITFILE_PATH)));
} catch (Exception ex) { ex.printStackTrace(); }
finally{
try{writer.close();
}catch(Exception ee){ ee.printStackTrace(); }
}
}
}
public ArrayList getDirs(){
return this.DirList;
}
public void startIndex() {
makeSegments();
createIndexs();
}
public static void main(String[] args) {
IndexOnFS processor = new IndexOnFS("e:\\姣曚笟璁烘枃");
//processor.searchDirectorys("e:\\1");
processor.startIndex();
}
}

]]>- Lucene婧愮爜緇撴瀯http://www.aygfsteel.com/hanchul/archive/2008/04/06/Lucene.htmlHanLabHanLabSun, 06 Apr 2008 09:02:00 GMThttp://www.aygfsteel.com/hanchul/archive/2008/04/06/Lucene.htmlhttp://www.aygfsteel.com/hanchul/comments/191062.htmlhttp://www.aygfsteel.com/hanchul/archive/2008/04/06/Lucene.html#Feedback0http://www.aygfsteel.com/hanchul/comments/commentRss/191062.htmlhttp://www.aygfsteel.com/hanchul/services/trackbacks/191062.html榪欐槸鎴戝仛姣曚笟璁捐鏃剁敾鐨勶紝鎰熻榪樺彲浠ュ氨鏀捐繃鏉ュ叡浜紝鏈変粈涔堜笉瓚崇殑鍦版柟錛岃澶氭寚鐐廣?br />
鐪婰ucene浠g爜涔熺畻鏄腑浜彈錛屾牴鎹笅鍥懼彲浠ュ厛鐪嬬湅鍏抽敭綾葷殑浠g爜銆?br />
Lucene2.3.1鍙戝竷涓嶄箙錛屾簮浠g爜涓嬭澆鍦板潃錛?a >http://apache.mirror.phpchina.com/lucene/java/

org.apache.Lucene.search/
|
鎼滅儲鍏ュ彛
|
org.apache.Lucene.index/
|
绱㈠紩鍏ュ彛
|
org.apache.Lucene.analysis/
|
璇█鍒嗘瀽鍣?/span>
|
org.apache.Lucene.queryParser/
|
鏌ヨ鍒嗘瀽鍣?/span>
|
org.apache.Lucene.document/
|
瀛樺偍緇撴瀯
|
org.apache.Lucene.store/
|
搴曞眰IO/瀛樺偍緇撴瀯
|
org.apache.Lucene.util/
|
涓浜涘叕鐢ㄧ殑鏁版嵁緇撴瀯
|

]]>
主站蜘蛛池模板:
长宁县|
镇雄县|
沐川县|
门头沟区|
且末县|
弥勒县|
阳东县|
环江|
集安市|
苗栗县|
汝南县|
秦皇岛市|
台山市|
天等县|
隆子县|
仁寿县|
彝良县|
安陆市|
绥宁县|
丹东市|
新竹市|
岗巴县|
绍兴县|
绩溪县|
柞水县|
泽库县|
南阳市|
元江|
昌邑市|
富源县|
河曲县|
望谟县|
调兵山市|
比如县|
澎湖县|
乌拉特后旗|
石阡县|
玛多县|
都江堰市|
盱眙县|
临朐县|