2
ElasticSearch多级父子聚合
我有3个级别的父级/子级结构。比方说: 公司->员工->可用性 由于可用性(以及员工)在这里经常更新,因此我选择对嵌套使用父/子结构。搜索功能也可以正常工作(所有文档都位于正确的分片中)。 现在,我想对这些结果进行排序。根据公司(第一级)的元数据对它们进行排序很容易。但是我还需要按3级(可用性)进行排序。 我想要按以下方式排序的公司列表: 给定ASC到位置的距离 评分DESC 尽快供货ASC 例如: 公司A距离5英里,评级为4,并且其一名雇员最快在20小时内可用。公司B也距离5英里,也评级为4,但其一名雇员最快可以在5小时内可用。 因此排序结果必须为B,A。 我想对每个数据赋予特殊的权重,因此我开始编写聚合,以后可以在custom_score脚本中使用。 创建索引,导入数据和搜索的全部依据 现在,我设法编写了一个查询,该查询实际上返回了结果,但是可用性聚合存储桶为空。但是,我也将结果重新整理得井井有条,我想将它们弄平。 目前我回来了: 公司IDS->员工IDS->首次可用性 我想要像这样的聚合: 公司IDS->首次供货 这样,我就能执行custom_score脚本来计算分数并对其进行正确排序。 更简化的问题: 如何按多级(大)孩子进行排序/汇总并可能使结果平坦。