我有3个级别的父/子结构.让我们说:
公司 - >员工 - >可用性
由于此处经常更新可用性(以及员工),因此我选择使用父/子结构来嵌套.并且搜索功能正常(所有文档都在正确的分片中).
现在我想对这些结果进行排序.通过公司(第1级)的元数据对它们进行排序很容易.但我需要按第3级(可用性)排序.
我想要按以下列表排序的公司列表:
例如:
A公司距离5英里,评级为4,最快的一名员工在20小时内可用.B公司距离5英里,也有4级,但最快的一名员工可在5小时内完成.
因此排序结果需要为B,A.
我想对每个数据添加特别的权重,所以我开始编写聚合,以后可以在我的custom_score脚本中使用.
用于创建索引,导入数据和搜索的全部要点
现在,我已经设法编写了一个实际返回结果的查询,但可用性聚合桶为空.但是,我也得到了过于结构化的结果,我想将它们弄平.
目前我回来了:
公司IDS - >员工IDS - >首次可用性
我希望聚合如下:
公司IDS - >首次上市
通过这种方式,我可以使用我的custom_score脚本来计算得分并对其进行正确排序.
更简化的问题:
如何对多级(大)孩子进行排序/聚合,并可能使结果变平.