solr分组查询

来源:互联网 发布:知乎手机号已注册 编辑:程序博客网 时间:2024/05/16 15:53
  1. public static HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr/");

    public static void main(String[] args) {
    queryAll();
    }
    public static void queryAll(){
    Map<String, Integer> rmap = new LinkedHashMap<String, Integer>();
     try {
      SolrQuery query = new SolrQuery();
      query.setQuery("title:中国");//如果没有查询语句,必须这么写,否则会报异常
      query.setIncludeScore(false);//是否按每组数量高低排序
      query.setFacet(true);//是否分组查询
      query.setRows(0);//设置返回结果条数,如果你时分组查询,你就设置为0
      query.setFacetSort(true);//分组是否排序
      query.setFacetLimit(4);//限制每次返回结果数
      query.addFacetField("resourcetype");//增加分组字段
      //query.addFacetField("price");//增加分组字段
      query.addFacetQuery("price:[4 TO 5]");
     // query.setSortField("price",asc ? SolrQuery.ORDER.asc :SolrQuery.ORDER.desc );//分组排序字段
      QueryResponse rsp = server.query( query );   
      
      List<Count> returnList = rsp.getFacetField("price").getValues();//这里要和addFacetField相对应
      
      for (Count count : returnList) {
       if(count.getCount()>0)
        rmap.put(count.getName(), (int) count.getCount());
      }
      System.out.println(rmap);
     } catch (Exception e) {
      e.printStackTrace();
     }
    }
0 0
原创粉丝点击