摘要: 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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2015-07-18 SQL Server 2008 数据库同步的两种方式 (发布、订阅)
2015-07-18 SQL Server 2008 数据库同步的两种方式 (发布、订阅)
2015-07-18 通过SQL Server 2008数据库复制实现数据库同步备份
2015-07-18 SQL Server 2008 R2数据库镜像部署图文教程
2015-07-18 SQL 2008提供几种数据同步方式
2014-07-18 web页面导出到Excel乱码解决