--- title: "written_by 或 writtenBy 缺失或无效 - 如何解决此 Elasticsearch 异常" date: 2026-02-23 lastmod: 2026-02-23 description: "当 Elasticsearch 文档中的 written_by 字段缺失或包含无效数据时,会发生此错误。本文介绍解决方案。" tags: ["异常处理", "字段验证", "文档索引", "数据验证"] summary: " 版本: 7.14-8.9 简要来说,当 Elasticsearch 文档中的 “written_by” 字段缺失或包含无效数据时,会发生此错误。这可能是由于数据输入不正确或文档架构中缺少字段导致的。要解决此问题,您可以:1) 检查输入的数据以确保其有效且格式正确。2) 验证 “written_by” 字段是否存在于您的文档架构中。3) 如果该字段是可选的,修改代码以处理可能缺失的情况。4) 如果该字段是必需的,确保所有文档在索引之前都包含此字段。 日志上下文 # 日志 “missing or invalid written_by [” + writtenBy + “]” 的类名是 BlobStoreIndexShardSnapshot.java。 我们从 Elasticsearch 源代码中提取了以下内容,以供那些寻求深入上下文的人参考: } else if (physicalName == null || Strings.validFileName(physicalName) == false) { throw new ElasticsearchParseException("missing or invalid physical file name [" + physicalName + "]"); } else if (length < 0) { throw new ElasticsearchParseException("missing or invalid file length"); } else if (writtenBy == null) { throw new ElasticsearchParseException("missing or invalid written_by [" + writtenBy + "]"); } else if (checksum == null) { throw new ElasticsearchParseException("missing checksum for name [" + name + "]"); } return new FileInfo(name; new StoreFileMetadata(physicalName; length; checksum; writtenBy; metaHash; writerUuid); partSize); } " --- > **版本:** 7.14-8.9 简要来说,当 Elasticsearch 文档中的 "written_by" 字段缺失或包含无效数据时,会发生此错误。这可能是由于数据输入不正确或文档架构中缺少字段导致的。要解决此问题,您可以:1) 检查输入的数据以确保其有效且格式正确。2) 验证 "written_by" 字段是否存在于您的文档架构中。3) 如果该字段是可选的,修改代码以处理可能缺失的情况。4) 如果该字段是必需的,确保所有文档在索引之前都包含此字段。 ## 日志上下文 日志 "missing or invalid written\_by [" + writtenBy + "]" 的类名是 [BlobStoreIndexShardSnapshot.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,以供那些寻求深入上下文的人参考: ```java } else if (physicalName == null || Strings.validFileName(physicalName) == false) { throw new ElasticsearchParseException("missing or invalid physical file name [" + physicalName + "]"); } else if (length < 0) { throw new ElasticsearchParseException("missing or invalid file length"); } else if (writtenBy == null) { throw new ElasticsearchParseException("missing or invalid written_by [" + writtenBy + "]"); } else if (checksum == null) { throw new ElasticsearchParseException("missing checksum for name [" + name + "]"); } return new FileInfo(name; new StoreFileMetadata(physicalName; length; checksum; writtenBy; metaHash; writerUuid); partSize); } ```