在此示例中,我已将完整查询示例放置到已阻止的非工作部分。嵌套过滤器中的query_string过滤器会引发错误
基本上我们有一个文件,在datailItems下有一个嵌套的文档类型,并试图对该嵌套文档中的字段执行query_string过滤器失败。我采取相同的部分,并运行它对一个非嵌套的领域,它的工作原理。所以显然我做错了什么。
我收到的错误是nested: QueryParsingException[[******] [_na] filter malformed, must start with start_object]
那么,什么是做到这一点的正确方法?
一些注意事项。 “和”被用于包含布尔,范围等的进一步的过滤器要求......我已经删除了这个例子的附加要求。
{
"size" : 1,
"query" : {
"filtered" : {
"filter" : {
"and" : [{
"nested" : {
"path" : "detailItems",
"filter" : {
"and" : [{
"query" : {
"query_string" : {
"detailItems.name" : {
"query" : "mastersettings",
"minimum_should_match" : 1
}
}
}
}
]
}
}
}
]
}
}
}
}
只有走'query_string'部分,包括现场' detailItems.name'并在该大型查询之外进行测试。事情是这样的'{ “查询”:{ “嵌套”:{ “路径”: “detailItems”, “查询”:{ “QUERY_STRING”:{ “田”: “detailItems.name” ], “查询”: “mastersettings”, “minimum_should_match”:1 } } } } }' –
好了,它看起来像我必须把它完全是出于一种嵌套过滤器的工作 '{ “size”:1, “query”:{ “过滤”:{ “过滤器”:{ “查询”:{ “QUERY_STRING”:{ “detailItems.name”:{ “查询”: “mastersettings”, “minimum_should_match”:1 } } } } } } }' – danatcofo