--- title: "字段使用未知相似度类型" date: 2026-03-25 lastmod: 2026-03-25 description: "Elasticsearch遇到未知相似度类型导致的错误及解决方案" tags: ["Elasticsearch", "相似度", "评分", "字段配置"] summary: " 版本: 6.8-8.9 简而言之,当Elasticsearch遇到特定字段的未知相似度类型时,就会出现此错误。相似度类型用于定义Elasticsearch应该如何对匹配文档进行评分。如果无法识别该类型,就会抛出此错误。要解决此问题,您可以使用预定义的相似度类型,如"BM25"或"classic",或者在索引设置中定义您自己的自定义相似度。在指定相似度类型时,请确保使用正确的语法和拼写。 日志上下文 # 日志"Unknown Similarity type [" + value + “] for field [” + name + “]“的类名是 TypeParsers.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: if (value == null) { return null; // use default } SimilarityProvider similarityProvider = parserContext.getSimilarity(value.toString()); if (similarityProvider == null) { throw new MapperParsingException("Unknown Similarity type [" + value + "] for field [" + name + "]"); } return similarityProvider; } } " --- > **版本:** 6.8-8.9 简而言之,当Elasticsearch遇到特定字段的未知相似度类型时,就会出现此错误。相似度类型用于定义Elasticsearch应该如何对匹配文档进行评分。如果无法识别该类型,就会抛出此错误。要解决此问题,您可以使用预定义的相似度类型,如"BM25"或"classic",或者在索引设置中定义您自己的自定义相似度。在指定相似度类型时,请确保使用正确的语法和拼写。 ## 日志上下文 日志"Unknown Similarity type [" + value + "] for field [" + name + "]"的类名是[TypeParsers.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java if (value == null) { return null; // use default } SimilarityProvider similarityProvider = parserContext.getSimilarity(value.toString()); if (similarityProvider == null) { throw new MapperParsingException("Unknown Similarity type [" + value + "] for field [" + name + "]"); } return similarityProvider; } } ```