我目前正在开发一个处理事件的应用程序。因此,在 Elasticsearch 中,我们确实有一个名为 Event 的文档。以前,我们只有一种事件(唯一事件发生在 5 月 13 日上午 9 点至上午 11 点),排序很简单(按 start_date 排序)我们最近添加了一个新功能,允许我们创建重复事件,这意味着我们现在在 Elasticsearch 中有 2 个级别(父子关系)。我们可以有一个父事件,从 5 月 12 日下午 2 点到 5 月 14 日下午 6 点,与该事件相关联,例如,我们每天都有孩子。所以我们有:5 月 12 日 2PM-6PM、5 月 13 日 2PM-6PM、5 月 14 日 2PM-6PM。实际排序的问题在于,当我们在 5 月 12 日晚上 10 点时,我们会在列表顶部找到重复事件,然后是唯一事件。我想进行排序,其中最近的日期具有更高的优先级。在这种情况下,唯一事件应该是列表中的第一个。为了实现这一点,我在重复事件父节点上索引了节点子节点,以便让子节点 start_date。这个想法是从每个重复事件的子节点中获取最近的日期,并使用每个唯一事件的 start_date 对该日期进行排序。我对elasticsearch没有很大的经验,所以我有点卡住了,我在文档中看到了很多信息(父子,嵌套对象,脚本等)但我不知道如何处理案件。如果您有任何问题,我希望我已经正确解释了自己,请随时问他们,我很乐意为您提供更多信息。
2 回答
- 2 回答
- 0 关注
- 246 浏览
添加回答
举报
0/150
提交
取消