zoukankan      html  css  js  c++  java
  • Solr分组聚合查询之Group

    摘要: Solr对结果的分组处理除了facet还可以使用group。Solr的group是根据某一字段对结果分组,将每一组内满足查询的结果按顺序返回。

    Group对比Facet

    Group和Facet的概念很像,都是用来分组。Facet返回所有相关的结果并允许用户基于facet的目录重新定义结果集。Facet可以对分组数量进行过滤,以及排序,和日期范围,时间范围分组,但是如果你想得到具体的数据,还得需要查询一次或多次。group可以得到分组的组数量,一次请求,可以拿到所有的数据。
    Group和Facet可以结合起来使用,但只能使用facet.fieldfacet.range,还不支持日期date和维度统计pivot faceting.

    Group参数

    参数类型说明
    group 布尔值 设为true,表示结果需要分组
    group.field 字符串 需要分组的字段,字段类型需要时是StrField或TextField
    group.func 查询语句 可以指定查询函数
    group.query 查询语句 可以指定查询语句
    rows 整数 返回多少组结果,默认10
    start 整数 指定结果开始位置/偏移量
    group.limit 整数 每组返回多数条结果,默认1
    group.offset 整数 指定每组结果开始位置/偏移量
    sort 排序算法 控制各个组的返回顺序
    group.sort 排序算法 控制每一分组内部的顺序
    group.format grouped/simple 设置为simple可以使得结果以单一列表形式返回
    group.main 布尔值 设为true时,结果将主要由第一个字段的分组命令决定
    group.ngroups 布尔值 设为true时,Solr将返回分组数量,默认fasle
    group.truncate 布尔值 设为true时,facet数量将基于group分组中匹相关性高的文档,默认fasle
    group.cache.percent 整数0-100 设为大于0时,表示缓存结果,默认为0。该项对于布尔查询,通配符查询,模糊查询有改善,却会减慢普通词查询。
  • 相关阅读:
    python使用Flask作为MockServer的方法
    Springboot提示数据库连接问题Connection is not available
    python解析FreeMind和XMind思维导图
    java操作对比两个字符串,将差异数据提取出来
    CronExpression表达式详解和案例
    Jquery.Datatables dom表格定位 (转)
    Flask 之 WebSocket
    基于WebSocket的简易聊天室
    Flask 之 宏
    Flask 之 蓝图
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9327952.html
Copyright © 2011-2022 走看看