读书人

lucene 第一个例证

发布时间: 2012-07-23 09:42:19 作者: rapoo

lucene 第一个例子

?

?

?闲暇时间稍微对lucene作了了解,写了一小例子。简单,也没啥好讲解的。

?

package com.lucune.test;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.queryParser.QueryParser;import org.apache.lucene.search.Hits;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.Query;import org.apache.lucene.store.FSDirectory;public class IndexFiles {public static void main(String[] args) throws Exception{String[] s = new String[10];String indexPath = "E:\\index";//索引存放目录IndexWriter writer;writer = new IndexWriter(FSDirectory.getDirectory(new File(indexPath),true),new StandardAnalyzer(),true);String path = "E:\\bbs.sql";FileReader fr = new FileReader(path);Document doc = new Document();doc.add(new Field("body", fr));doc.add(new Field("path", path , Field.Store.YES, Field.Index.TOKENIZED));String path2 = "E:\\plan.txt";FileReader fr2 = new FileReader(path2);Document doc2 = new Document();doc2.add(new Field("body", fr2));doc2.add(new Field("path", path2 , Field.Store.YES, Field.Index.TOKENIZED));String path3 = "E:\\sql.sql";FileReader fr3 = new FileReader(path3);Document doc3 = new Document();doc3.add(new Field("body", fr3));doc3.add(new Field("path", path3 , Field.Store.YES, Field.Index.TOKENIZED));writer.addDocument(doc);writer.addDocument(doc2);writer.addDocument(doc3);writer.close();fr3.close();fr2.close();fr.close();IndexSearcher search = new IndexSearcher(FSDirectory.open(new File(indexPath)));QueryParser parser = new QueryParser("body",new StandardAnalyzer());Query query = parser.parse("jquery");Hits hits = search.search(query);for(int i=0;i<hits.length();i++){Document cc = hits.doc(i);System.out.println(cc.get("path"));System.out.println(hits.score(i));FileReader fe = new FileReader(cc.get("path"));BufferedReader bf = new BufferedReader(fe);String rl;while((rl=bf.readLine())!=null){System.out.println(rl);}System.out.println();bf.close();fe.close();}//System.out.println(hits.length());search.close();}} 

?

读书人网 >开源软件

热点推荐