在 ElasticSearch 中查询并返回 Sub Document/Nested 个对象
Querying and returning Sub Document/Nested Objects in ElasticSearch
美好的一天:
我目前有以下索引结构 school -> children
...意味着每个 school
文档都有一个 children
子文档的列表。 Children
是 School
中的对象嵌套列表。我的 objective 是在分页 children
[=27= 时查询父 school.id=id
并且仅 return 匹配 children.userId = userId
的子文档]。我不确定如何完成此操作,但如有任何使用 NEST 的帮助,我们将不胜感激。
谢谢。
编辑:
我不知道您只想对单个文档的结果进行分页。在这种情况下,您可以使用 inner_hits
,它有自己的 from
和 size
参数,您可以使用。
原始答案:
当你有嵌套类型时,我认为你不能直接在内部 object 上分页。相反,您可能希望在单独的文档中索引 school 和 children,并使用 join
类型在它们之间创建 parent/child 关系。然后您可以使用 has_parent
查询来搜索 children 并在返回的 children 上分页。
参考:
如何创建映射:Join Relationship
如何创建查询:has_parent query
美好的一天:
我目前有以下索引结构 school -> children
...意味着每个 school
文档都有一个 children
子文档的列表。 Children
是 School
中的对象嵌套列表。我的 objective 是在分页 children
[=27= 时查询父 school.id=id
并且仅 return 匹配 children.userId = userId
的子文档]。我不确定如何完成此操作,但如有任何使用 NEST 的帮助,我们将不胜感激。
谢谢。
编辑:
我不知道您只想对单个文档的结果进行分页。在这种情况下,您可以使用 inner_hits
,它有自己的 from
和 size
参数,您可以使用。
原始答案:
当你有嵌套类型时,我认为你不能直接在内部 object 上分页。相反,您可能希望在单独的文档中索引 school 和 children,并使用 join
类型在它们之间创建 parent/child 关系。然后您可以使用 has_parent
查询来搜索 children 并在返回的 children 上分页。
参考:
如何创建映射:Join Relationship
如何创建查询:has_parent query