我有一个父母/子女结构在3个层次。让我们说:
公司-> 雇员-> 上市时间
因为这里经常更新可用性(以及 Employee) ,所以我选择使用父/子结构来对抗嵌套。搜索功能工作正常(所有文档都在正确的碎片中)。
现在我要对这些结果进行分类。根据公司的元数据(第一级)对它们进行排序很容易。但我也需要排序的第三级(可用性)。
我想要按照以下方式分类的公司名单:
例如:
A 公司在5英里外,等级是4级,他们的员工最快在20小时内到达 B 公司也在5英里以外,也有4级,但最快他们的一个员工在5小时内可用。
因此排序结果需要是 B,A。
我希望为每个数据添加特殊的权重,因此我开始编写聚合,这些聚合稍后可以在我的 custom_ score 脚本中使用。
创建索引、导入数据和搜索的完整要点
现在,我已经设法编写了一个实际返回结果的查询,但是可用性聚合桶是空的。
但是,我也得到了结果太结构化,我想扁平他们。
现在我回来了:
公司 IDS-> 员工 IDS-> 第一次可用
我想有这样的聚合:
公司 IDS-> 第一次可用
这样我就能够做我的 custom_score
脚本来计算分数和排序他们正确。
更简单的问题:
如何按多级(大级)子级排序/聚合并可能使结果变平。