在 Elasticsearch 中,keyword
类型字段的值默认最大长度为 32766 字节。如果 content
字段的值超过了这个限制,可以采用以下几种解决方法:
1. 将字段类型改为 text
text
类型字段对长度没有限制,适合存储大段文本内容,如文章详情、日志等。可以将 content
字段的类型从 keyword
改为 text
。
PUT my_index/_mapping
{
"properties": {
"content": {
"type": "text"
}
}
}
2. 使用 ignore_above
参数(仅适用于部分场景)
如果需要保留 keyword
类型字段,可以通过设置 ignore_above
参数来忽略超过指定长度的内容。例如,设置 ignore_above
为 32766,这样超出长度的部分不会被索引,但字段的其他内容仍然可以被索引。
PUT my_index/_mapping
{
"properties": {