Fielddata is disabled on text fields by default

一切的开始是由查询语句导致程序抛错

Fielddata is disabled on text fields by default

结果集为空,导致后续程序无法继续,正常情况这个结果是不会为null值的 ,经过直接执行查询语句发现查询报错

Fielddata is disabled on text fields by default

查询参数为:

{
    "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"
                                }]
                            }
                        }
                    }
                }
            }
        }
    }
}

 

Fielddata is disabled on text fields by default

结果说的比较明确 brand 字段 Fielddata 默认为关闭,将其设置为开启即可

Fielddata is disabled on text fields by default

注意:

Fielddata 会消耗大量的堆空间