摘要: Solr的分组聚合是一个笼统的概念,目的就是把查询结果做分类,有多种方式可以做到很类似的结果。也正是由于它们的不同表现,可以适合于多种场景。

何为Facet

Facet是一种手段,用来将搜索结果分类,它并不会修改查询结果信息,只是给分类后的结果加上了每一项的数量值。我们可以用facet来做导航栏,引导用户更精确地查找信息。

一般参数

参数 说明
facet 布尔值,设置为true,表示开启facet
facet.query 指定查询语句

facet

布尔值,默认为空,只有设置为true,其他的facet参数才能生效。

facet.query

该参数允许你指定任意一个满足Luence语法的查询语句。默认情况下,Solr会自动判断如何分类。通过facet.query可以覆盖默认行为并指定分类策略。可以使用facet.query多次,以指定不同的查询语句。

Facet种类

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

Filed-Value Facet

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

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

Range Facet

一般用于date类型或数字类型的字段。

参数 说明
facet.range 需要做facet查询的字段
facet.range.start 设置起始点
facet.range.end 设置终止点
facet.range.gap 限定每一段范围的区间差值
facet.range.hardend 指定如何处理最后一个区间
facet.range.include 指定如何处理临界值
facet.range.other 指定如何处理限定范围以为的结果
facet.range.method 指定facet算法

Pivot Facet /Decision Tree Facet

Pivot可以理解为维度,Pivot Facet用来对表中的数据排序,求和,平均等一系列操作,可以呈现出对facet结果的总结。此外,可以利用这一功能生成决策树,告知你如何更好地利用生成的facet。

Solr分组聚合查询之Facet相关推荐

  1. Solr分组聚合查询之Group

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

  2. mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询

    自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...

  3. 分组聚合查询两门以上MySQL_MySQL中的分组聚合查询

    下面根据之前的表来做一下示例.这里只给出SQL命令. #查询学生总人数 SELECT COUNT(*) FROM tb_student; #查询选修了课程的学生总人数 SELECT COUNT(DIS ...

  4. MongoDB多条件分组聚合查询

    MongoDB多条件分组聚合查询 1.样例数据 {"_id" : ObjectId("5fa13fb76c3107345a82c047"),"_cla ...

  5. php sequelize,Sequelize中用group by进行分组聚合查询

    一.SQL与Sequelize中的分组查询 1.1 SQL中的分组查询 SQL查询中,通GROUP BY语名实现分组查询.GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的 ...

  6. 聚合函数/分组聚合查询

    本博客前文链接,点击查看,便于理解代码的来龙去脉 聚合函数 MAX() MIN() COUNT() SUM() AVG() from stu.models import *def showsql(): ...

  7. 带你学MySQL系列 | 困扰MySQL初学者的分组聚合查询,我终于讲明白了!

    1.分组查询的原理图 对上述原始数据,按照DEPARTMENT_ID(员工id)分组统计SALARY(薪水)的平均值. 上述原理写成代码,应该怎么写呢? select department_id,av ...

  8. oracle分组聚合查询,Oracle中分组查询group by用法规则解析

    本篇文章小编给大家分享一下Oracle中分组查询group by用法规则解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Oracle中group by ...

  9. Django(part27)--聚合查询

    学习笔记,仅供参考 文章目录 数据库的操作(CRUD操作) 聚合查询 不分组聚合 分组聚合 数据库的操作(CRUD操作) 聚合查询 聚合查询是指对某个数据表中的某个字段的数据计算其统计量,比如,求出b ...

  10. mysql group by 聚合_浅析MySQL使用 GROUP BY 分组聚合与细分聚合

    1. 聚合函数(Aggregate Function) MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下: 除非另有说明,否则聚合函数都会忽略空值(NULL values). 2. 聚 ...

最新文章

  1. GET请求中URL的最大长度限制总结
  2. TCP如何能正常关闭连接?
  3. python生成随机数代码_Python中产生随机数
  4. Nginx搭建服务器
  5. 前端学习(548):node的自定义模块
  6. 从网页上考的代码考到eclipse里面,会出现每行开头的空格下面有红色异常提示,为什么?...
  7. MyBatis 中的mapper.xml详解
  8. WSUS 3.0系列之二 补丁分发
  9. 在ASP.NET AJAX中使用应用程序服务和本地化(5):自定义应用程序服务的服务器端实现...
  10. 读取和导出下载 excel 2003,2007 资料
  11. DataSet与XML导入导出方法
  12. 服务器迁入虚拟主机的好处,服务器迁入虚拟主机的好处
  13. 恩智浦杯智能汽车大赛—直立车模实现原理(mpu6050控制)
  14. 多元时间序列预测 —— 向量自回归(VAR)
  15. Angel investor
  16. 工业互联网:7  项目生命周期管理(1)
  17. python飞机大战源码素材包_python(pygame)滑稽大战(类似飞机大战) 教程
  18. 剪刀石头布(自留底)01
  19. 眼见不一定为实!18个神奇的视错觉,看完不相信眼睛系列
  20. java中容易产生空指针异常:NullPointerException的场景

热门文章

  1. Hbase------regionServer
  2. At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo
  3. 团队作业3 需求改进系统设计
  4. IMF传奇行动第85课:Spark Streaming第四课:基于HDFS的Spark Streaming案例实战和内幕源码解密
  5. 计算机网络课程设计组建大型网吧局域网,计算机网络课程设计报告—组建大型网吧局域网.doc...
  6. 牛客oj 习题11.1 找出直系亲属(前驱记录)
  7. 网线水晶头制作及标准接法教程,新手必备技能
  8. 基于深度信念网络的表示学习用于lncrna -疾病关联预测
  9. LncRNA与代谢组联合分析
  10. 互联网B端产品设计经验总结