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

版本: 6.8-8.9

简而言之,当Elasticsearch遇到它无法识别的问题时,就会出现此错误。这通常是由于缺乏详细的日志记录或系统中出现意外情况造成的。要解决此问题,您可以提高日志记录级别以获取有关错误的更详细信息。您还可以检查Elasticsearch集群的健康状况,确保所有节点正常运行。此外,您应该验证查询语法和数据类型,因为不正确的使用通常会导致未知错误。

日志上下文 #

日志"unknown cause"的类名是 RestController.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用:

public void dispatchBadRequest(final RestChannel channel, final ThreadContext threadContext, final Throwable cause) {
 threadContext.addResponseHeader(ELASTIC_PRODUCT_HTTP_HEADER, ELASTIC_PRODUCT_HTTP_HEADER_VALUE);
 try {
 final Exception e;
 if (cause == null) {
 e = new ElasticsearchException("unknown cause");
 } else if (cause instanceof Exception) {
 e = (Exception) cause;
 } else {
 e = new ElasticsearchException(cause);
 }