在 ElasticSearch 中查询并返回 Sub Document/Nested 个对象

Querying and returning Sub Document/Nested Objects in ElasticSearch

美好的一天:

我目前有以下索引结构 school -> children...意味着每个 school 文档都有一个 children 子文档的列表。 ChildrenSchool 中的对象嵌套列表。我的 objective 是在分页 children [=27= 时查询父 school.id=id 并且仅 return 匹配 children.userId = userId 的子文档]。我不确定如何完成此操作,但如有任何使用 NEST 的帮助,我们将不胜感激。

谢谢。

编辑:

我不知道您只想对单个文档的结果进行分页。在这种情况下,您可以使用 inner_hits,它有自己的 fromsize 参数,您可以使用。

参考:inner_hits documentation

原始答案:

当你有嵌套类型时,我认为你不能直接在内部 object 上分页。相反,您可能希望在单独的文档中索引 school 和 children,并使用 join 类型在它们之间创建 parent/child 关系。然后您可以使用 has_parent 查询来搜索 children 并在返回的 children 上分页。

参考:

如何创建映射:Join Relationship

如何创建查询:has_parent query