Elasticsearch 术语过滤器提高 "filter does not support [mediatest]"
Elasticsearch the terms filter raise "filter does not support [mediatest]"
我的查询是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": "flash"
}
}
]
}
}
}
}
}
它引发 QueryParsingException [[comos_v2] [terms] 过滤器不支持 [mediaType]],of该字段 "mediaType" 完全不存在于映射中。
我的问题是为什么术语过滤器不会引发异常?
以上不是有效的查询 DSL。在上面 Terms filter 中 "mediaType" 字段的值应该是一个数组
应该是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": ["flash"]
}
}
]
}
}
}
}
}
这只是“术语”与“术语”的问题。很容易错过它的复数/单数方面。
我在这个查询中遇到了一个非常相似的错误,我在其中试图删除一个特定的区域:
'{"query":{"terms":{"zoneid":25070}}}'
我在 运行 上述查询时遇到错误。
一旦将“terms”更改为“term”,查询就会顺利执行,如下所示:
'{"query":{"term":{"zoneid":25070}}}'
现在是 2021 年,我使用 .keyword 进行精确文本匹配,但您也可以轻松省略:
{"query":
{"bool":
{"must":
[
{"term":
{"variable1.keyword":var1Here}
},
{"term":
{"variable2.keyword":var2Here}
}
]
}
}
}
我的查询是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": "flash"
}
}
]
}
}
}
}
}
它引发 QueryParsingException [[comos_v2] [terms] 过滤器不支持 [mediaType]],of该字段 "mediaType" 完全不存在于映射中。 我的问题是为什么术语过滤器不会引发异常?
以上不是有效的查询 DSL。在上面 Terms filter 中 "mediaType" 字段的值应该是一个数组
应该是这样的:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"online": 1
}
},
{
"terms": {
"mediaType": ["flash"]
}
}
]
}
}
}
}
}
这只是“术语”与“术语”的问题。很容易错过它的复数/单数方面。
我在这个查询中遇到了一个非常相似的错误,我在其中试图删除一个特定的区域:
'{"query":{"terms":{"zoneid":25070}}}'
我在 运行 上述查询时遇到错误。
一旦将“terms”更改为“term”,查询就会顺利执行,如下所示:
'{"query":{"term":{"zoneid":25070}}}'
现在是 2021 年,我使用 .keyword 进行精确文本匹配,但您也可以轻松省略:
{"query":
{"bool":
{"must":
[
{"term":
{"variable1.keyword":var1Here}
},
{"term":
{"variable2.keyword":var2Here}
}
]
}
}
}