zoukankan      html  css  js  c++  java
  • 记一次生产Slor分组的bug

    Facet种类

    Solr的Facet有多种形式,它们的参数不尽相同。

    Filed-Value Facet

    可以用于Text或者String类型的字段。

    参数说明
    facet.field 需要做facet查询的字段,必须指定,否则其他参数无效
    facet.sort 排序规则,可以是count(默认值,由大到小)或index(字典顺序)
    facet.limit 控制返回的数量,默认100
    facet.missing 控制是否考虑没有facet字段,默认false

    由于当时用到分组的时候,也是在网上找的博客,没有仔细的研究,结果当分组条数过多的时候就出现问题了,发现返回的结果少了,但是总数没有变。

    而且返回的条数总是100条,因为之前要对分组后的数据还要截取去重,所以也没有发现这个问题。

    解决:条数改的多一些

    SolrQuery query = new SolrQuery();// 建立一个新的查询
            query.setQuery(keywords);
            query.setFacet(true);// 设置facet=on
            query.addFacetField(new String[] {"v1_groupId"});// 设置需要facet的字段
            query.setFacetLimit(10000);// 限制facet返回的数量

    如果是group分组的话

     SolrQuery query = new SolrQuery();// 建立一个新的查询
            query.setQuery(keywords);
            query.setParam(GroupParams.GROUP,true);//是否分组
            query.setParam(GroupParams.GROUP_FIELD,"v1_teacherId");//分组的域
            query.setParam(GroupParams.GROUP_LIMIT,"100");//每组显示的个数,默认为1
            query.setStart(1); //起始索引值
            query.setRows(10000);//显示几条数据
  • 相关阅读:
    javascript高级编程笔记03(正则表达式)
    javascript高级编程笔记02(基本概念)
    javascript高级编程笔记01(基本概念)
    ExtJS4加载FormPanel数据的几种方式
    Extjs 更新数据集Ext.PagingToolbar的start参数重置的处理
    四川绵阳 晴
    四川绵阳 阴
    四川绵阳 晴
    在IntelliJ IDEA中添加repository模板
    List分组 用于客服对话分组场景
  • 原文地址:https://www.cnblogs.com/dalianpai/p/12142426.html
Copyright © 2011-2022 走看看