gwe*_*ang 12 dsl json elasticsearch
我的查询是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": "flash"
}
}
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它引发了一个QueryParsingException [[comos_v2] [terms]过滤器不支持[mediaType]],其中"mediaType"字段在映射中确实不存在.我的问题是为什么术语过滤器不会引发异常?
kee*_*ety 24
以上不是有效的查询DSL.在上面的条款中,过滤 "mediaType"字段的值应该是一个数组
它应该是以下内容:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": ["flash"]
}
}
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)