有没有办法在solr中实现自定义(索引/计数除外)facet值排序?

时间:2018-06-05 09:50:08

标签: solr solrj solr4 solrcloud solrnet

假设我们正在使用iphone进行搜索,而在Brand facet中我们正在获得以下方面  1)Amzer  2)苹果  3)Araree  4)炮台  5)DailyObjects

它基于字母顺序。但是我们希望基于的方面对facet值进行排序  每个品牌的一些定制分数。 solr faceting中是否有可满足上述要求的功能?

如果我们对每个品牌方面的分数都有分数,那么有没有办法在solr端执行方面?

目前,solr只有两个facet.sort选项,即索引和计数。 我们希望除了索引和计数之外还包含其他排序选项。 请建议。

1 个答案:

答案 0 :(得分:1)

由于您正在谈论字段的聚合,您可以使用Facet JSON API来完成此操作:

给出的例子可以满足您的要求:

Employee

这总结了方面中所有元素的平均价格,同时也按其排序 - 首先为您提供平均价格最高的类别。

您可以在facet下用于聚合的受支持的函数列表是available in the reference guide

  • 总和,总和(销售额),数值总和
  • avg,avg(流行度),数值的平均值
  • min,min(薪水),最低价值
  • max,max(mul(价格,受欢迎程度)),最大值
  • 唯一,唯一(作者),唯一值的数量
  • hll,hll(作者),通过hyper-log-log算法分发基数估计
  • 百分位数,百分位数(薪水,50,75,99,99.9),百分位数通过t-digest算法估算。按此指标排序时,列出的第一个百分位数将用作排序值。
  • sumsq,sumsq(租金),场或函数的平方和
  • 方差,wvariance(租金),数字字段或函数的方差
  • stddev,stddev(租金),字段或功能的标准差