Fielddata is disabled on text fields by default
一切的开始是由查询语句导致程序抛错
结果集为空,导致后续程序无法继续,正常情况这个结果是不会为null值的 ,经过直接执行查询语句发现查询报错
查询参数为:
{
"from": 0,
"size": 10,
"timeout": "10s",
"query": {
"bool": {
"must": [{
"function_score": {
"query": {
"match_all": {
"boost": 1.0
}
},
"functions": [{
"filter": {
"match_all": {
"boost": 1.0
}
},
"script_score": {
"script": {
"source": "def onum = doc['onum'].value;return _score*100 + onum",
"lang": "painless"
}
}
}],
"score_mode": "multiply",
"max_boost": 3.4028235E38,
"boost": 1.0
}
}],
"filter": [{
"term": {
"kind": {
"value": "sale",
"boost": 1.0
}
}
}, {
"term": {
"status": {
"value": "onsale",
"boost": 1.0
}
}
}, {
"term": {
"category": {
"value": "cable-and-connector",
"boost": 1.0
}
}
}],
"adjust_pure_negative": true,
"boost": 1.0
}
},
"sort": [{
"_score": {
"order": "desc"
}
}],
"aggregations": {
"brandAgg": {
"terms": {
"field": "brand",
"size": 2147483647,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}]
}
},
"categoryAgg": {
"terms": {
"field": "category",
"size": 2147483647,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}]
}
},
"prop": {
"nested": {
"path": "prop"
},
"aggregations": {
"propName": {
"terms": {
"field": "prop.name",
"size": 2147483647,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}]
},
"aggregations": {
"propValue": {
"terms": {
"field": "prop.value",
"size": 2147483647,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}]
}
}
}
}
}
}
}
}
结果说的比较明确 brand 字段 Fielddata 默认为关闭,将其设置为开启即可
注意:
Fielddata 会消耗大量的堆空间