productindexer.java

来自「一个搜索引擎,希望对大家有用」· Java 代码 · 共 59 行

JAVA
59
字号
package com.luceneheritrixbook.index;

import java.io.*;

import jeasy.analysis.MMAnalyzer;

import org.apache.lucene.analysis.*;
import org.apache.lucene.index.*;

import com.luceneheritrixbook.core.Product;
import com.luceneheritrixbook.searchengine.config.PropertyConfiguration;

public class ProductIndexer {

	private String indexPath = "";
	
	private IndexWriter writer = null;
	
	private Analyzer analyzer = null;
	
	private String dictionary_file = PropertyConfiguration.getWordDictionary();

	public ProductIndexer(String indexPath) throws Exception {
		this.indexPath = indexPath;
		initialize();
	}

	/**
	 * 
	 * @throws Exception
	 */
	private void initialize() throws Exception {
		analyzer = new MMAnalyzer();
//		FileReader reader = new FileReader(dictionary_file);
//		((MMAnalyzer)analyzer).addDictionary(reader);
		writer = new IndexWriter(indexPath, analyzer, true);
	}
	
	
	public void close() {
		try{
			writer.close();
		} catch(Exception e) {
			e.printStackTrace();
			writer = null;
		}
	}
	
	public void addProduct(Product product, int id) throws Exception {
		writer.addDocument(ProductDocument.buildProductDocument(product, id));
	}
	
	public void optimizeIndex() throws Exception {
		writer.optimize();
	}
	

}

⌨️ 快捷键说明

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