📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当 Elasticsearch 索引中的字段在定义时未指定其类型时,就会发生此错误。Elasticsearch 需要知道每个字段的类型才能进行正确的索引和搜索。要解决此问题,您可以在创建索引时在映射中指定字段的类型,或者更新现有索引的映射以包含类型。如果字段类型未知,可以使用 ‘dynamic’ 选项让 Elasticsearch 自动检测字段类型。

日志上下文 #

日志"No type specified for field [" + fieldName + “]“的类名是 ObjectMapper.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

// flag on it; make it an object
 // (usually; setting enabled to false to not index
 // any type; including core values; which
 type = ObjectMapper.CONTENT_TYPE;
 } else {
 throw new MapperParsingException("No type specified for field [" + fieldName + "]");
 }
 }  if (objBuilder.subobjects.value() == false && type.equals(ObjectMapper.CONTENT_TYPE)) {
 throw new MapperParsingException(