ES增加字段
ES中如果不事先指定字段比如 hospitalNumber,直接添加文档(包含了这个字段),则这个字段就会变成text类型,而非keyword类型,检索时必须用 hospitalNumber.keyword方式才能检索出来。
"hospitalNumber" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
es添加字段脚本:
PUT /on_ywx_order_202412/_mapping
{
"properties": {
"hospitalNumber": {
"type": "keyword",
"ignore_above":256
}
}
在ElasticSearch中keyword,text类型字段都可以设置ignore_above属性(默认是10) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,但是会存储,ignore_above一般设置为256(筛选该字段,并且去除非分词字段的大小限制),设置为30000可能会出现BulkFailureException。