嵌套查询是否用于 ElasticSearch 中的对象映射?

Are nested queries used for object mappings in ElasticSearch?

假设我们在 ElasticSearch 中有一个文档模型,它有一个字符串 (registration) 和一个名为 currentname 的对象数据类型,然后它有一个名为 name 的值。我在底部添加了模型JSON。

这个怎么查询?

由于metadata项目没有使用nested关键字,我假设我们可以在没有nested的情况下获取数据。但是,由于 metadata 确实有一个属性值,我不确定。

我的尝试:

我试过简单模型(NEST):

        var res2 = client.Search<dynamic>(s =>
             s.Index("myindexname").AllTypes().
                Query(q => q.
                    Bool(b => b.
                        Must(mu => mu.
                            Term(te =>
                                te.Field("metadata.currentname.name").Value(query))))));

这 return 没有任何文件。

但是,如果我必须使用嵌套查询,我不完全理解为什么(是因为这些对象基本上是不同的索引吗?)。 DSL(或 NEST 代码)如何进行正确的调用?

文档模型:

properties: { 
    Company: {
        properties: {
           registration: {
              type: "string"
           },
           metadata: {
               currentname: {
                   properties: {
                      name: "string"
                    }
                }
            }
        }
    }
}

嵌套查询仅用于嵌套数据类型