为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 solr 中获取分片中的结果并将其存储在 hashmap 数组中

如何从 solr 中获取分片中的结果并将其存储在 hashmap 数组中

白衣非少年 2022-11-30 13:45:57
我有来自 solr 的响应数据resp.getResponse().get("shards.info")如下: {xyz1={     numFound=149040,     maxScore=1.0,     shardAddress=http://xyz1,     time=3},xyz2={     numFound=12414,     maxScore=1.0,     shardAddress=http://xyz2,     time=5},xyz3={     numFound=62175,     maxScore=1.0,     shardAddress=http://xyz13,     time=6},xyz4={     numFound=200572,     maxScore=1.0,     shardAddress=http://xyz14,     time=4},xyz5={     numFound=32853,     maxScore=1.0,     shardAddress=http://xyz5,     time=5},xyz6={     numFound=73443,     maxScore=1.0,     shardAddress=http://xyz6,     time=5} }        for (SolrDocument solrDocument:resp.getResponse().get("shards.info"))         {             documentsList.add(solrDocument);        } but found this error "Can only iterate over an array or an instance of java.lang.Iterable"How to pass those values into documentsList_shards please help me
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

希望对某些人有所帮助,如果有改进,欢迎您


    NamedList<Object> report = (NamedList<Object>)resp.getResponse().get("shards.info");

    Iterator<Map.Entry<String, Object>> coreIterator = report.iterator();

    HashMap<String, String> hm = new HashMap<String, String>(); 

    while(coreIterator.hasNext())

    {

        Map.Entry<String, Object> core = coreIterator.next();

        String core_name=(core.getKey().toString()).replace("abcc","");

        NamedList<Object> report_in = (NamedList<Object>)core.getValue();

        Iterator<Map.Entry<String, Object>> coreIterator_in = report_in.iterator();

        while(coreIterator_in.hasNext()){

            Map.Entry<String, Object> core_in = coreIterator_in.next();

            if(core_in.getKey().equals("numFound"))

            {

                String numFound=core_in.getValue().toString();

                hm.put(core_name, numFound); 

            }

        }

    }


查看完整回答
反对 回复 2022-11-30
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号