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

版本: 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);
 }
}