版本: 6.8-7.15
简而言之,当Elasticsearch中的字段被配置为仅接受点(point)数据类型,但尝试索引不同的数据类型时,就会发生此错误。期望的数据类型与实际数据类型之间的不匹配导致了此错误。要解决此问题,您可以更改Elasticsearch索引中字段的数据类型以匹配传入的数据,或者在索引之前将传入的数据转换为匹配预期的点数据类型。此外,确保索引中字段的映射定义正确。
日志上下文 #
日志"[{" + fieldType().name() + “}] is configured for points only but a “类名是 LegacyGeoShapeFieldMapper.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考:
for (Shape s : shapes) {
context.doc().addAll(Arrays.asList(fieldType().defaultPrefixTreeStrategy().createIndexableFields(s)));
}
return;
} else if (shape instanceof Point == false) {
throw new MapperParsingException("[{" + fieldType().name() + "}] is configured for points only but a "
+ ((shape instanceof JtsGeometry) ? ((JtsGeometry)shape).getGeom().getGeometryType() : shape.getClass())
+ " was found");
}
}
context.doc().addAll(Arrays.asList(fieldType().defaultPrefixTreeStrategy().createIndexableFields(shape)));





