elasticsearch ElasticSearch-如何从动态字段元数据查询查询?
ElasticSearch-如何从动态字段元数据查询查询 元数据字段是动态的,可能有是或没有内部字段 即使在某些查询中未定义“已删除”字段,如何返回查询 谢谢收听elasticsearch ElasticSearch-如何从动态字段元数据查询查询?,elasticsearch,nosql,elasticsearch,Nosql,ElasticSearch-如何从动态字段元数据查询查询 元数据字段是动态的,可能有是或没有内部字段 即使在某些查询中未定义“已删除”字段,如何返回查询 谢谢收听 { "query": { "nested": { "path": "metadata", "query": { "bool": { "should":[
{
"query": {
"nested": {
"path": "metadata",
"query": {
"bool": {
"should":[
{
"match":{
"metadata.deleted": true
}
}
]
}
}
},
"bool": {
"must": {
"term": {
"on_behalf_of": "b71457f731d8a6f"
}
}
}
}
}
您的查询格式不正确。这里使用了两个查询
nested
和bool
。这两个查询必须包装在布尔查询的必须
、应该
或过滤器
中。假设这两个条件都是匹配所必需的,则这两个查询都应包装在bool
查询的must
或filter
子句中,如下所示:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "metadata",
"query": {
"bool": {
"should": [
{
"match": {
"metadata.deleted": true
}
}
]
}
}
}
},
{
"must": {
"term": {
"on_behalf_of": "b71457f731d8a6f"
}
}
}
]
}
}
}
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "metadata",
"query": {
"bool": {
"should": [
{
"match": {
"metadata.deleted": true
}
}
]
}
}
}
},
{
"must": {
"term": {
"on_behalf_of": "b71457f731d8a6f"
}
}
}
]
}
}
}