读书人

Lucene 3.0 初始2(搜索)

发布时间: 2012-07-19 16:02:20 作者: rapoo

Lucene 3.0 初步2(搜索)

package cn.com.alei.lucene;import java.io.File;import java.io.IOException;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;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.ScoreDoc;import org.apache.lucene.search.TopDocs;import org.apache.lucene.store.Directory;import org.apache.lucene.store.SimpleFSDirectory;import org.apache.lucene.util.Version;/** * @author alei * @version 创建时间:2012-4-14 下午05:49:46 */public class Search {public static void main(String[] args) throws IOException, ParseException {//上次创建索引目录File indexpath = new File("D:\\framework\\luceneIndex");Directory directory = new SimpleFSDirectory(indexpath);//创建一个IndexSearcher 实例IndexSearcher indexSearcher = new IndexSearcher(directory);//创建QueryParser对象,第一个参数表示Lucene版本,第二个参数表示搜索Field的字段,第三个表示搜索分词器QueryParser queryparser = new QueryParser(Version.LUCENE_30,"content",new StandardAnalyzer(Version.LUCENE_30));//生成一个QueryQuery query = queryparser.parse("美国");TopDocs docs = indexSearcher.search(query, 10);System.out.println("共搜索到 :" + docs.totalHits + " 个");int size = docs.totalHits;if(size > 0){for(int i = 0 ; i < size ; i++){ScoreDoc sdoc = docs.scoreDocs[i];Document d = indexSearcher.doc(sdoc.doc);System.out.println(d.get("path"));}}}}

读书人网 >软件架构设计

热点推荐