首页 > 解决方案 > Solr如何编写自定义聚合函数/分面函数

问题描述

是否有可能/如何在 Solr中编写新的自定义方面功能?

我想编写一些针对构面存储桶执行并产生单个结果的新函数,但找不到从哪里开始。其中之一是一个函数,它只从桶中返回一些任意值,而不计算 min/max/avg 等。

标签: solr

解决方案


在这些情况下开始的一个好方法通常是找到一个现有的且名称更独特的函数,然后在代码库中搜索这些函数。

JSON Facet API: Stat Facet Functions开始,我看到了一些不错的候选者,例如percentilesumsq(以及其他一些)。

在代码中搜索这些显示百分比聚合器已solr/core/src/java/org/apache/solr/search/facet/PercentileAgg.java 在 Github 上看到。这似乎有点复杂,但该目录包含所有方面聚合函数。

方差聚合器应该更简单,而且确实如此。从 VarianceAgg 源开始,您应该能够创建另一个版本,该版本也将特定方面的所有值聚合为单个值。

从扩展SimpleAggValueSource和工作开始。


推荐阅读