• 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。

               
  • 相关阅读:
    NS2网络模拟(2)-丢包率
    NS2网络模拟(3)-吞吐率
    NS2网络模拟(4)-吞吐率图
    NS2网络模拟(5)-homework01.tcl
    nagios
    Javascript 统计复选框选中个数
    JUnit单元测试实践:测试工具类和方法(EmptyUtils)
    2013年工作中遇到的20个问题(Bug):161-180
    2013年工作中遇到的20个问题(Bug):161-180
    数据持久层(DAO)通用API的实现
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9328209.html
Copyright © 2020-2023  润新知