版本: 7.3-7.15
简而言之,当 Elasticsearch 由于索引缺失或无法访问而无法获取数据时,会出现此错误。这可能是由于索引被删除、重命名,或者用户没有必要的访问权限造成的。要解决此问题,可以检查索引是否存在并且名称正确。如果是权限问题,确保用户具有正确的访问权限。如果索引被删除,可能需要从备份恢复它或重新索引数据。
日志上下文 #
日志 “cannot retrieve data because index” 的类名是 ExtractedFieldsDetectorFactory.java。 我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入上下文的人参考:
docValueFieldsLimitListener.onResponse(minDocValueFieldsLimit);
};
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);
}
}





