⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexprocesser.java

📁 luence索引抓取时
💻 JAVA
字号:
package process;

import jeasy.analysis.MMAnalyzer;
import java.io.*;

import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
public class IndexProcesser {
	//存储创建的索引文件存放的位置
	private String INDEX_STORE_PATH = "D:/excise/lucene/index";
	
	//创建索引
	public void createIndex(String inputDir){
		try{
			//以MMAnalyzer作为分词工具创建一个IndexWriter
			IndexWriter writer = new IndexWriter(INDEX_STORE_PATH, new MMAnalyzer(),true);
			
			File filesDir = new File(inputDir);
			//取得所有需要建立索引的文件数组
			File[] files = filesDir.listFiles();
			
			//遍历数组】
			for( int i = 0 ;i < files.length ; i++){
				//获取文件名
				String fileName = files[i].getName();
				//判断文件是否为.txt类型的文件
				if(fileName.substring(fileName.lastIndexOf(".")).equals(".txt")){
					//创建一个新的Document.
					Document doc = new Document();
					//用文件名创建一个field
					Field field = new Field("filename",files[i].getName(),
										Field.Store.YES,Field.Index.TOKENIZED);
					doc.add(field);
					
					//为文件内容创建一个Field
					field = new Field("content",loadFileToString(files[i]),
									Field.Store.NO,Field.Index.TOKENIZED);
					doc.add(field);
					writer.addDocument(doc);									
				}
				//关闭IndexWriter.
				writer.close();
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	/**
	 * 从文件中把内容读出,所有的内容都放在一个String中返回
	 */
	public String loadFileToString(File file){
		try{
			BufferedReader br = new BufferedReader(new FileReader(file));
			StringBuffer sb = new StringBuffer();
			String line = br.readLine();
			while (line != null){
				sb.append(line);
				line = br.readLine();
			}
			br.close();
			return sb.toString();
		}catch(IOException e){
			e.printStackTrace();
			return null;
		}
	}
	public static void main(String args[]){
		IndexProcesser processor = new IndexProcesser();
		processor.createIndex("D:/excise/lucene/testfolder");
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -