首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

一个例证学懂lucene-Helloworld

2013-04-02 
一个例子学懂lucene--Helloworldimport java.io.IOExceptionimport org.apache.lucene.analysis.Analyzer

一个例子学懂lucene--Helloworld
import java.io.IOException;import org.apache.lucene.analysis.Analyzer;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.queryParser.MultiFieldQueryParser;import org.apache.lucene.queryParser.ParseException;import org.apache.lucene.queryParser.QueryParser;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.Query;import org.apache.lucene.search.TopDocs;import org.apache.lucene.store.Directory;import org.apache.lucene.store.LockObtainFailedException;import org.apache.lucene.store.RAMDirectory;import org.apache.lucene.util.Version;import org.junit.Test;public class HelloWorld {@SuppressWarnings("deprecation")@Testpublic void luceneTest(){Directory directory = new RAMDirectory();Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);try { IndexWriter indexWriter = new IndexWriter(directory, analyzer, true, MaxFieldLength.LIMITED); Document document = new Document(); Document document2 = new Document(); String text = "我是中国人,我爱中国."; String text2 = "我是中国人,我爱中国."; document.add(new Field("fieldname", text, Field.Store.YES, Field.Index.ANALYZED)); document2.add(new Field("fieldname", text2, Field.Store.YES, Field.Index.ANALYZED)); indexWriter.addDocument(document); indexWriter.addDocument(document2); indexWriter.optimize(); indexWriter.close(); // Now search the index; IndexSearcher isearcher = new IndexSearcher(directory); // Parse a simple query that searches for "中国人" String [] queryFileds = {"fieldname"}; QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_36, queryFileds, analyzer); Query query = parser.parse("中国人"); TopDocs result = isearcher.search(query, 1000); System.out.println("检索到"+result.totalHits+"条符合条件的数据."); isearcher.close(); directory.close();} catch (CorruptIndexException e) {e.printStackTrace();} catch (LockObtainFailedException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (ParseException e) {e.printStackTrace();}}}

?

?

热点排行