Solr分组聚合查询之Facet
摘要: 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相关推荐
- Solr分组聚合查询之Group
摘要: Solr对结果的分组处理除了facet还可以使用group.Solr的group是根据某一字段对结果分组,将每一组内满足查询的结果按顺序返回. Group对比Facet Group和Facet ...
- mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询
自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...
- 分组聚合查询两门以上MySQL_MySQL中的分组聚合查询
下面根据之前的表来做一下示例.这里只给出SQL命令. #查询学生总人数 SELECT COUNT(*) FROM tb_student; #查询选修了课程的学生总人数 SELECT COUNT(DIS ...
- MongoDB多条件分组聚合查询
MongoDB多条件分组聚合查询 1.样例数据 {"_id" : ObjectId("5fa13fb76c3107345a82c047"),"_cla ...
- php sequelize,Sequelize中用group by进行分组聚合查询
一.SQL与Sequelize中的分组查询 1.1 SQL中的分组查询 SQL查询中,通GROUP BY语名实现分组查询.GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的 ...
- 聚合函数/分组聚合查询
本博客前文链接,点击查看,便于理解代码的来龙去脉 聚合函数 MAX() MIN() COUNT() SUM() AVG() from stu.models import *def showsql(): ...
- 带你学MySQL系列 | 困扰MySQL初学者的分组聚合查询,我终于讲明白了!
1.分组查询的原理图 对上述原始数据,按照DEPARTMENT_ID(员工id)分组统计SALARY(薪水)的平均值. 上述原理写成代码,应该怎么写呢? select department_id,av ...
- oracle分组聚合查询,Oracle中分组查询group by用法规则解析
本篇文章小编给大家分享一下Oracle中分组查询group by用法规则解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Oracle中group by ...
- Django(part27)--聚合查询
学习笔记,仅供参考 文章目录 数据库的操作(CRUD操作) 聚合查询 不分组聚合 分组聚合 数据库的操作(CRUD操作) 聚合查询 聚合查询是指对某个数据表中的某个字段的数据计算其统计量,比如,求出b ...
- mysql group by 聚合_浅析MySQL使用 GROUP BY 分组聚合与细分聚合
1. 聚合函数(Aggregate Function) MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下: 除非另有说明,否则聚合函数都会忽略空值(NULL values). 2. 聚 ...
最新文章
- GET请求中URL的最大长度限制总结
- TCP如何能正常关闭连接?
- python生成随机数代码_Python中产生随机数
- Nginx搭建服务器
- 前端学习(548):node的自定义模块
- 从网页上考的代码考到eclipse里面,会出现每行开头的空格下面有红色异常提示,为什么?...
- MyBatis 中的mapper.xml详解
- WSUS 3.0系列之二 补丁分发
- 在ASP.NET AJAX中使用应用程序服务和本地化(5):自定义应用程序服务的服务器端实现...
- 读取和导出下载 excel 2003,2007 资料
- DataSet与XML导入导出方法
- 服务器迁入虚拟主机的好处,服务器迁入虚拟主机的好处
- 恩智浦杯智能汽车大赛—直立车模实现原理(mpu6050控制)
- 多元时间序列预测 —— 向量自回归(VAR)
- Angel investor
- 工业互联网:7 项目生命周期管理(1)
- python飞机大战源码素材包_python(pygame)滑稽大战(类似飞机大战) 教程
- 剪刀石头布(自留底)01
- 眼见不一定为实!18个神奇的视错觉,看完不相信眼睛系列
- java中容易产生空指针异常:NullPointerException的场景
热门文章
- Hbase------regionServer
- At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo
- 团队作业3 需求改进系统设计
- IMF传奇行动第85课:Spark Streaming第四课:基于HDFS的Spark Streaming案例实战和内幕源码解密
- 计算机网络课程设计组建大型网吧局域网,计算机网络课程设计报告—组建大型网吧局域网.doc...
- 牛客oj 习题11.1 找出直系亲属(前驱记录)
- 网线水晶头制作及标准接法教程,新手必备技能
- 基于深度信念网络的表示学习用于lncrna -疾病关联预测
- LncRNA与代谢组联合分析
- 互联网B端产品设计经验总结