ElasticSearch中keyword,text类型字段都可以设置ignore_above属性(默认是10) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,但是会存储,ignore_above一般设置为256(筛选该字段,并且去除非分词字段的大小限制),设置为30000可能会出现BulkFailureException

ElasticsearchException[Elasticsearch exception [type=max_bytes_length_exceeded_exception, reason=max_bytes_length_exceeded_exception: bytes can be at most 32766 in length; got 35149]];}]

keyword类型:

​
PUT /INDEX_NAME/_mapping
{
    "properties" : {
      "FIELD_NAME" : {
        "type" : "keyword",
        "ignore_above": 256
      }
    }
}
​

text类型:

PUT /INDEX_NAME/_mappings
{
    "properties":{
        "FIELD_NAME":{
            "type":"text",
            "fields":{
                "keyword":{
                    "type":"keyword",
                    "ignore_above":256
                }
            }
        }
    }
}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐