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.pswp.cn/news/906315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906315.shtml
英文地址,請注明出處:http://en.pswp.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.異步…