天天看點

Lucene2.4 測試 建立多個分析器addDocument(doc,analyzer);

package lucene.test.analysis;

import java.io.IOException;

import java.util.Date;

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.analysis.WhitespaceAnalyzer;

import org.apache.lucene.analysis.standard.StandardAnalyzer;

import org.apache.lucene.document.Document;

import org.apache.lucene.document.Field;

import org.apache.lucene.index.CorruptIndexException;

import org.apache.lucene.index.IndexWriter;

import org.apache.lucene.index.IndexWriter.MaxFieldLength;

import org.apache.lucene.store.LockObtainFailedException;

public class IndexMoreAnalyzer {

private static String indexStore="D://MajorWork//javaWeb//luceneTestapi//indexStore";

static protected String[] id={"001","002","003"};

static protected String[] content={"搜尋引擎","全文檢索","資訊檢索"};

public static void main(String[] args)

{

Date start=new Date();

Analyzer analyzer=new WhitespaceAnalyzer();

Analyzer analyzer2=new StandardAnalyzer();

try {

IndexWriter writer=new IndexWriter(indexStore,analyzer,true,MaxFieldLength.LIMITED);

for(int i=0;i<3;i++)

{

Document doc=new Document();

Field field_id=new Field("id","id[i]",Field.Store.YES,Field.Index.NOT_ANALYZED);

doc.add(field_id);

Field field_content=new Field("content","content[i]",Field.Store.YES,Field.Index.ANALYZED);

doc.add(field_content);

if(1==i)

{

doc.add(field_content);

}

else

{

writer.addDocument(doc,analyzer2);

}

}

writer.optimize();

writer.close();

Date end=new Date();

long indexTime=end.getTime()-start.getTime();

System.out.println("索引完成所需時間:(ms)");

System.out.println(indexTime);

} catch (CorruptIndexException e) {

e.printStackTrace();

} catch (LockObtainFailedException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

System.out.println("建立索引完成!");

}

}