版本: 7.5-8.9
简而言之,当 Elasticsearch 尝试访问不存在的索引时,就会出现此错误。这可能是由于索引名称拼写错误,或者索引已被删除所致。要解决此问题,您可以检查索引名称是否存在拼写错误,确保在尝试访问之前索引确实存在,或者在代码中处理 IndexNotFoundException 以提供更友好的错误消息。如果索引应该存在,您可能需要调查为何它被删除或未按预期创建。
日志上下文 #
日志 “cannot retrieve data because index " + ((IndexNotFoundException) cause).getIndex() + " does not exist” 的类名是 ExtractedFieldsDetectorFactory.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的用户参考:
}; e -> {
Throwable cause = ExceptionsHelper.unwrapCause(e);
if (cause instanceof IndexNotFoundException) {
docValueFieldsLimitListener.onFailure(
new ResourceNotFoundException(
"cannot retrieve data because index " + ((IndexNotFoundException) cause).getIndex() + " does not exist"
)
);
} else {
docValueFieldsLimitListener.onFailure(e);
}
}





