• 记一次生产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);//显示几条数据
  • 相关阅读:
    excel 批量修改sql
    js select 改变当前选中option
    servlet 显示服务器上的图片
    @Security权限验证拦截参数
    签字 变成 图片 纯js+html实现
    web 的项目 搭乘war包,运行时候却找不到jar包
    jquery监听扫码枪获得值
    妹子的js 万一哪一天资源找不到了 记录下来
    react系列---【redux安装、创建仓库】
    react系列---【redux进阶】
  • 原文地址:https://www.cnblogs.com/dalianpai/p/12142426.html
Copyright © 2020-2023  润新知