PrefixQuery前缀搜索符合的所有放入map

/** PrefixQuery前缀搜索符合的所有放入map
	 *	@param File indexDir,索引目录;
	 *	@param String word 索引关键词前缀
	 *  @return Map<String,Integer>
	 *  @author niewj @since 2011-3-10 */
	public static Map<String,Integer> getPairMap(File indexDir,String field,String word) {
		Map<String,Integer> pairMap=new HashMap<String,Integer>();
		Directory dir=null;
		try {
			dir = new SimpleFSDirectory(indexDir);
			IndexSearcher searcher=new IndexSearcher(dir);
			Term term=new Term(field,word);
			PrefixQuery query=new PrefixQuery(term);
			
			TopDocs topDocs=searcher.search(query,5000);
			System.out.println("total hit:"+topDocs.totalHits);
			ScoreDoc[] docs=topDocs.scoreDocs;
			for(int i=0;i<docs.length;i++){
				Document doc=searcher.doc(docs[i].doc);
				String pair=doc.getField("pairContent").stringValue();
				String value=doc.getField("pairLines").stringValue();
				pairMap.put(pair, Integer.parseInt(value));
				System.out.println(pair+"-"+value);
			}
		} catch (IOException e) {
			e.printStackTrace();	//
		}
		return pairMap;
	}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值