--- title: "搜索失败并返回状态码 - 如何解决此 Elasticsearch 异常" date: 2026-03-11 lastmod: 2026-03-11 description: "当 Elasticsearch 在执行搜索操作时遇到问题,会抛出此错误。括号中的状态码提供了关于错误的更具体信息。可能的原因包括查询语法错误、内存不足或必需的索引不可用。" tags: ["搜索异常", "状态码错误", "查询语法", "内存管理"] summary: " 版本: 7.16-8.9 简而言之,当 Elasticsearch 在执行搜索操作时遇到问题,就会出现此错误。括号中的状态码应该提供关于错误的更具体信息。这个问题可能由于多种原因导致,例如查询语法错误、内存不足或必需的索引不可用。要解决这个问题,你可以检查查询语法,确保有足够的内存供 Elasticsearch 运行,并验证所需的索引可用且未损坏。此外,检查 Elasticsearch 日志可以提供有关错误的更详细信息。 日志上下文 # 日志 “search failed with status {}” 的类名是 ResultsPersisterService.java。 我们从 Elasticsearch 源代码中提取了以下内容,以便那些寻求深入上下文的人参考: if (RestStatus.OK.equals(searchResponse.status())) { retryableListener.onResponse(searchResponse); return; } retryableListener.onFailure( new ElasticsearchStatusException("search failed with status {}"; searchResponse.status(); searchResponse.status()) ); }; retryableListener::onFailure)); listener ); this.searchRequest = searchRequest; " --- > **版本:** 7.16-8.9 简而言之,当 Elasticsearch 在执行搜索操作时遇到问题,就会出现此错误。括号中的状态码应该提供关于错误的更具体信息。这个问题可能由于多种原因导致,例如查询语法错误、内存不足或必需的索引不可用。要解决这个问题,你可以检查查询语法,确保有足够的内存供 Elasticsearch 运行,并验证所需的索引可用且未损坏。此外,检查 Elasticsearch 日志可以提供有关错误的更详细信息。 日志上下文 ----------- 日志 "search failed with status {}" 的类名是 [ResultsPersisterService.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,以便那些寻求深入上下文的人参考: ```java if (RestStatus.OK.equals(searchResponse.status())) { retryableListener.onResponse(searchResponse); return; } retryableListener.onFailure( new ElasticsearchStatusException("search failed with status {}"; searchResponse.status(); searchResponse.status()) ); }; retryableListener::onFailure)); listener ); this.searchRequest = searchRequest; ```