我的查询是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": "flash"
}
}
]
}
}
}
}
}
它引发 QueryParsingException [[comos_v2] [terms] 过滤器不支持 [mediaType]],其中“mediaType”字段在映射中完全不存在. 我的问题是为什么术语过滤器不会引发异常?
最佳答案
以上不是有效的查询 DSL。在上面Terms filter “mediaType”字段的值应该是一个数组
应该是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": ["flash"]
}
}
]
}
}
}
}
}
关于json - Elasticsearch 术语过滤器引发 "filter does not support [mediatest]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30363647/