我正在尝试在属性名称上运行聚合,其中包含空格。 所以这是搜索的查询主体
{
"size": 0,
"aggs": {
"categoryId": {
"filter": {
"bool": {
"filter": [
{
"term": {
"title.list": "iphone"
}
}
]
}
},
"aggs": {
"results": {
"terms": {
"field": "category.l3.id",
"size": 4
},
"aggs": {
"categoryName": {
"terms": {
"field": "category.l3.id.keyword",
"size": 1
}
}
"Operating_System": {
"terms": {
"field": "detail.attribute.Operating System.raw",
"size": 9
}
}
}
}
}
}
}
}
正如您可以看到属性名称"操作系统"有一个空间。我试过这样跑
"field": "detail.attribute['Operating System'].raw"
它仍然无法运作。我该如何解决? 这是映射
"detail": {
"properties": {
"attribute": {
"dynamic": "true",
"properties": {
"Operating System": {
"type": "text",
"fields": {
"raw": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
答案 0 :(得分:0)
我得到了它的工作。显然,物业名称中的空间是合法的。
"Operating_System": {
"terms": {
"field": "detail.attribute.Operating System.raw",
"size": 9
}
}
我不知道之前它是如何工作的,也许我错过了一些东西,但这个查询会返回一个回复