Хороший способ начать работу в этих случаях - это найти одну из существующих и более уникально названных функций, а затем искать их в базе кода.
Начиная с JSON API фасетов: Функции фасеток Stat * Я вижу пару хороших кандидатов, таких как percentile
и sumsq
(и несколько других).
Поиск в коде показывает, что агрегат процентилей реализован в solr/core/src/java/org/apache/solr/search/facet/PercentileAgg.java
, как это видно на Github . Это кажется немного сложным, но каталог содержит все функции агрегирования фасетов.
Агрегатор дисперсии должен быть проще, , и действительно, это . Начиная с источника VarianceAgg, вы сможете создать другую версию, которая объединит все значения для указанного фасета c в одно значение.
Начните с расширения SimpleAggValueSource
и продолжайте работать оттуда.