Сегментное агрегирование в Elasticsearch: агрегирование матрицы смежности
Это агрегация сегментов (bucket aggregation), возвращающая форму матрицы смежности. Запрос предоставляет набор именованных выражений фильтра, аналогичный запросу агрегирования фильтров. Каждый сегмент в ответе представляет собой непустую ячейку в матрице пересекающихся фильтров. Учитывая фильтры с именами A, B и C, ответ вернет сегменты со следующими именами: Пересекающиеся сегменты, например A&C, помечаются с использованием комбинации двух имен фильтров с разделителем по умолчанию &. Обратите внимание, что ответ также не включает сегмент C&A, поскольку это будет тот же набор документов, что и A&C. Матрица называется симметричной, поэтому мы возвращаем только ее половину. Для этого мы сортируем строки имен фильтров и всегда используем наименьшее значение в паре в качестве значения слева от разделителя. Пример В следующей агрегации взаимодействий используется adjacency_matrix, чтобы определить, какие группы людей обменивались электронными письмами. PUT emails/_b