lucene学习笔记2--检索

对已经创建好的索引库进行检索

/**

* 利用关键词对索引进行查询
* <功能详细描述>
* @param keyword  搜索条件
* @param indexPath 索引路径
* @throws IOException 
* @throws ParseException 
* @see [类、类#方法、类#成员]
*/
public void search(String keyword, String indexPath) throws IOException, ParseException
{
//創建分詞器
// Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);


Analyzer analyzer = new PaodingAnalyzer();


TokenStream token = analyzer.tokenStream("content", new StringReader(keyword));
TermAttribute attribute = token.getAttribute(TermAttribute.class);
while (token.incrementToken())
{
System.out.println(attribute.term());
}
//获取索引目录
Directory directory = FSDirectory.open(new File(indexPath));


//创建搜索类
IndexSearcher searcher = new IndexSearcher(directory);


//
QueryParser parser = new QueryParser(Version.LUCENE_30, "content", analyzer);


//创建query对象
Query query = parser.parse(keyword);


TopDocs hits = searcher.search(query, 10);


System.out.println("topDocs:" + hits.totalHits);


ScoreDoc[] scoreDocs = hits.scoreDocs;


for (int i = 0; i < scoreDocs.length; i++)
{
ScoreDoc sdoc = scoreDocs[i];
Document document = searcher.doc(sdoc.doc);
System.out.println("content:" + document.get("content"));
}
searcher.close();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值