--- title: "Completion字段类型必须被索引 - 如何解决此Elasticsearch异常" date: 2026-01-02 lastmod: 2026-01-02 description: "当Elasticsearch中的Completion字段未被索引时会抛出此异常。Completion字段类型用于自动完成建议,必须被索引才能正常工作。" tags: ["Completion字段", "字段映射", "索引配置", "自动完成"] summary: " 适用版本: 7.9-7.9 简要来说,当Elasticsearch中的Completion字段未被索引时,就会发生此错误。Completion字段类型用于自动完成建议功能,必须被索引才能正常工作。要解决此问题,您可以确保在映射过程中将Completion字段设置为可索引。这可以通过在Completion字段的映射定义中设置 \"index\": true 来实现。另外,如果数据已经被错误地索引,您可以使用正确的映射重新索引数据。 日志上下文 # 日志 "Completion field type must be indexed" 的类名是 CompletionFieldMapper.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的用户参考: } @Override public Builder index(boolean index) { if (index == false) { throw new MapperParsingException("Completion field type must be indexed"); } return builder; } } " --- > **适用版本:** 7.9-7.9 简要来说,当Elasticsearch中的Completion字段未被索引时,就会发生此错误。Completion字段类型用于自动完成建议功能,必须被索引才能正常工作。要解决此问题,您可以确保在映射过程中将Completion字段设置为可索引。这可以通过在Completion字段的映射定义中设置 `\"index\": true` 来实现。另外,如果数据已经被错误地索引,您可以使用正确的映射重新索引数据。 ## 日志上下文 日志 \"Completion field type must be indexed\" 的类名是 [CompletionFieldMapper.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的用户参考: ```java } @Override public Builder index(boolean index) { if (index == false) { throw new MapperParsingException("Completion field type must be indexed"); } return builder; } } ```