lasticsearch 报错 Document contains at least one immense term 的解决方案

一、问题背景

在使用 Elasticsearch 存储较大字段数据时,出现如下异常:
ElasticsearchStatusException: Elasticsearch exception [type=illegal_argument_exception, reason=Document contains at least one immense term in field="fieldZgbpka" (whose UTF8 encoding is longer than the max length 32766)...
 

如下图所示:

二、错误分析

这是 Elasticsearch 的一个安全机制:默认情况下,不允许索引超大字段内容(即 term 超过 32766 bytes)。Elasticsearch 会跳过这些字段的内容,同时抛出 illegal_argument_exception

常见触发原因:

  • 向索引中写入了超长字符串,如大型 JSON、富文本、Base64 图片等;

  • 默认 text 类型字段被自动建立倒排索引。

 

三、解决方案:

设置 index: false 禁用字段索引
如果该字段不参与搜索,仅作存储用途(比如附件内容、HTML、大文本、JSON 字符串等),可以将其设为不可索引,即:

"fieldZgbpka": {
  "type": "text",
  "index": false
}

四:解决步骤(我这个方案比较笨)

1.先查询有那些索引

GET wk_single_pack/_mapping

 大概结果如下图:

2.删除旧索引

然后建立一个新的索引,对应的改成text 把索引禁用掉fase别的保持不变。

这是删除原有索引的命令,看到true就成功了。
DELETE /wk_single_pack

3.建立新的索引

PUT wk_single_pack
{
  "mappings": {
      "_doc": {
        "properties": {
          "checkStatus": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "createTime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss"
          },
          "createUserId": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "createUserName": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "documentCode": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "fieldOouzhm": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "fieldZgbpka": {
            "type": "text",
            "index": false
          },
          "fieldZorzlq": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword"
              },
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "orderNumber": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "ownerDeptId": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "ownerDeptName": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "ownerUserId": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "ownerUserName": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "salesman": {
            "type": "keyword",
            "fields": {
              "sort": {
                "type": "icu_collation_keyword",
                "language": "zh",
                "country": "CN"
              }
            }
          },
          "totalAmount": {
            "type": "scaled_float",
            "scaling_factor": 100
          },
          "updateTime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss"
          }
        }
      }
    }
}

如下图,根据自己的实际情况来。

 

五、注意事项

  • 避免存储超大内容到默认 text 字段

  • 如果确实需要,可用 index: false 或改为 keyword

  • 若需搜索大字段(如全文搜索),考虑引入专门的搜索字段(如摘要);

  • 别忘了提前设计 Mapping,Elasticsearch 动态 Mapping 默认会索引所有字段。

六、总结

本次问题是由于字段内容超出 Elasticsearch 的最大 term 限制 32766 字节导致。解决方案二通过设置字段 index: false,禁止其参与倒排索引,既解决了异常问题,又保留了数据的存储功能。

在实际开发中,我们要对每个字段的数据结构与使用场景做好规划,合理设计索引策略,避免不必要的性能浪费与错误。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[目标检测] YOLO系列算法讲解

前言 目标检测就是做到给模型输入一张图片或者视频,模型可以迅速判断出视频和图片里面感兴趣的目标所有的位置和它 的类别,而当前最热门的目标检测的模型也就是YOLO系列了。 YOLO系列的模型的提出,是为了解决当时目标检测的模型帧率太低而提…

服务器操作系统时间同步失败的原因及修复

服务器操作系统时间同步失败可能导致日志记录不准确、安全证书失效等问题。以下是常见原因及对应的修复方法: ### 一、时间同步失败的常见原因 1. **网络连接问题** - NTP服务器无法访问(防火墙阻止、网络中断) - DNS解析失败或网…

Cribl 中function 使用过滤的特殊case:Parser + rename

Cribl 利用function 对parser 进行特殊过滤处理: Parser Function – Fields Filter Expression​ When you use the Stream Parser Functions Reserialize option, there is a special option that becomes available, called the Fields Filter Expression. This is basica…

inverse-design-of-grating-coupler-3d

一、设计和优化3D光栅耦合器 1.1 代码讲解 通过预定义的环形间距参数(distances数组),在FDTD中生成椭圆光栅结构,并通过用户交互确认几何正确性后,可进一步执行参数扫描优化。 # os:用于操作系统相关功能(如文件路径操作) import os import sys# lumapi:Lumerical 的…

TuyaOpen横空出世!涂鸦智能如何用开源框架重构AIoT开发范式?

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引子:AIoT开发的“不可能三角”被打破 当AI与物理世界深度融合的浪潮席卷全球,开发者们却始终面临一个“不可能三角”——开发效率、技术深度与商业化落地难以兼得。 …

智慧赋能光伏运维——无人机巡检+地面监控双链路覆盖,打造光伏电站管理新标杆

一、引言:光伏电站运维的挑战与机遇 在全球能源转型浪潮下,光伏电站作为清洁能源的重要载体,其高效运维管理成为行业核心命题。然而,传统光伏电站运维存在覆盖范围广、设备分散、人工巡检效率低、故障响应慢等痛点。为破解这一难…

前端无感登录刷新

前端实现无感登录 在现代的前端开发中,用户体验是非常重要的一环。无感登录(也叫自动登录)就是其中一个提升用户体验的关键功能。它的目标是让用户在登录后,即使关闭浏览器或长时间不操作,也能在下次访问时自动登录&a…

JAVASE查漏补缺

这段时间学习了很多知识,好多还有疑问不清楚的地方。今天有空总结一下。 javame,javase,javaee 一、Java ME(Micro Edition,微型版) Java ME是一种适用于移动设备和嵌入式系统的小型Java平台,具有高度可移植性和跨平…

【设计模式】基于 Java 语言实现工厂模式

目录 一、简单工厂模式 1.1 简单工厂模式的介绍 二、工厂方法模式 2.1 工厂方法模式的介绍 2.2 工厂方法模式的基本实现 2.3 工厂方法模式的应用场景 三、抽象工厂 3.1 抽象工厂的概念 3.2 抽象工厂的基本结构 3.3 抽象工厂的基本实现 3.4 抽象工厂的应用场景 四、…

OpenCV CUDA模块中的矩阵算术运算------创建卷积操作对象的工厂方法 cv::cuda::createConvolution

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 createConvolution函数是OpenCV CUDA 模块中用于创建卷积操作对象的工厂方法。它返回一个指向 cv::cuda::Convolution 接口的智能指针&#xff0…

IDEA:程序编译报错:java: Compilation failed: internal java compiler error

目录 简介异常信息排查原因解决 简介 代码无法编译、无法打包 异常信息 java: Compilation failed: internal java compiler error排查 1、代码近期没有改动过,原先是可以正常编译的 2、查看程序JDK,是JDK1.8没错,与原先JDK一致 3、出现…

windows 10 做服务器 其他电脑无法访问,怎么回事?

一般我们会先打开win10自己的防火墙策略,但是容易忽略 电脑之间 路由器上的防火墙,此时也需要查看一下,可以尝试先关闭路由器防火墙,如果可以了,再 设置路由器上的防火墙规则。 将路由器的上网设置 改成 路由模式 &a…

【人工智能-agent】--Dify+Mysql+Echarts搭建了一个能“听懂”人话的数据可视化助手!

Echarts官网:https://echarts.apache.org/zh/index.html ECharts 是一个由百度团队开发的、基于 JavaScript 的开源可视化图表库,它提供了丰富的图表类型和强大的交互功能,能够帮助开发者轻松创建专业级的数据可视化应用。 核心特点 丰富的图…

Android设备 显示充电速度流程

整体逻辑:设备充电速度的判断 系统通过读取充电器的最大电流(Current)与最大电压(Voltage),计算最大充电功率(Wattage),以此判断当前是慢充、普通充还是快充&#xff1a…

十一、Hive JOIN 连接查询

作者:IvanCodes 日期:2025年5月16日 专栏:Hive教程 在数据分析的江湖中,数据往往分散在不同的“门派”(表)之中。要洞察数据间的深层联系,就需要JOIN这把利器,将相关联的数据串联起来…

Excel在每行下面插入数量不等的空行

1、在B列输入要添加的空行数量(如果加7行,则写6,也可以插入数量不等的空行) 2、在C1单元格输入1 3、在C2输入公式:SUM($B$1:B1)1,下拉填充 4、在C9单元格输入1 5、选中C9单元格-->选择菜单栏“开始”…

iOS热更新技术要点与风险分析

iOS的热更新技术允许开发者在无需重新提交App Store审核的情况下,动态修复Bug或更新功能,但需注意苹果的审核政策限制。以下是iOS热更新的主要技术方案及要点: 一、主流热更新技术方案 JavaScript动态化框架 React Native & Weex 通过Jav…

服务器多用户共享Conda环境操作指南——Ubuntu24.02

1. 使用阿里云镜像下载 Anaconda 最新版本 wget https://mirrors.aliyun.com/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh bug解决方案 若出现:使用wget在清华镜像站下载Anaconda报错ERROR 403: Forbidden. 解决方案:wget --user-agent“M…

基于YOLO算法的目标检测系统实现指南

YOLO(You Only Look Once)作为计算机视觉领域最具影响力的实时目标检测算法之一,其最新版本YOLOv8在速度与精度之间达到了新的平衡。本文将从技术实现角度,详细介绍如何使用YOLO算法构建高效的目标检测系统。 一、算法原理与技术架构 1.1 YOLO核心思想…

C++ asio网络编程(6)利用C11模拟伪闭包实现连接的安全回收

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、智能指针管理Session二、用智能指针来实现Server的函数1.start_accept()1.引用计数注意点2.std::bind 与异步回调函数的执行顺序分析 2.handle_accept1.异步…