假设我们在ElasticSearch中有一个文档模型,它有一个字符串(registration
)和一个名为currentname
的对象数据类型,然后它有一个名为name
的值。我在底部添加了模型JSON。
您如何查询?
由于metadata
项没有使用嵌套关键字,我假设我们可以在没有嵌套的情况下获取数据。但是,由于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))))));
这不会返回任何文件。
但是,如果我必须使用嵌套查询,我不完全理解为什么(是因为这些对象基本上是一个不同的索引?)。 DSL(或NEST代码)看起来如何做正确的呼叫?
文档模型:
properties: {
Company: {
properties: {
registration: {
type: "string"
},
metadata: {
currentname: {
properties: {
name: "string"
}
}
}
}
}
}
答案 0 :(得分:1)
嵌套查询仅用于嵌套数据类型