--- title: "Action [action] not found – 如何解决此 Elasticsearch 异常" date: 2026-01-18 lastmod: 2026-01-18 description: "当Elasticsearch尝试执行一个无法识别或不存在的操作时,会抛出 Action [action] not found 异常。本文介绍该错误的原因及解决方案。" tags: ["异常处理", "传输服务"] summary: " 版本: 6.8-8.9 简而言之,当Elasticsearch尝试执行一个它无法识别或不存在的操作(action)时,就会出现此错误。这可能是由于操作名称拼写错误,或者该操作在当前版本的Elasticsearch中不可用所致。要解决此问题,首先应该验证操作名称并确保拼写正确。如果拼写正确,请查阅Elasticsearch文档以确保该操作在您的当前版本中可用。如果不可用,您可能需要升级Elasticsearch版本或寻找替代操作。 日志上下文 # 日志 “Action [” + action + “] not found” 的类名是 TransportService.java。我们为那些寻求深入上下文的人从Elasticsearch源代码中提取了以下内容: onRequestReceived(requestId; action); @SuppressWarnings("unchecked") final RequestHandlerRegistryreg = (RequestHandlerRegistry) getRequestHandler(action); if (reg == null) { assert false : action; throw new ActionNotFoundTransportException("Action [" + action + "] not found"); } final String executor = reg.getExecutor(); if (ThreadPool.Names.SAME.equals(executor)) { try (var ignored = threadPool.getThreadContext().newTraceContext()) { try { " --- > **版本:** 6.8-8.9 简而言之,当Elasticsearch尝试执行一个它无法识别或不存在的操作(action)时,就会出现此错误。这可能是由于操作名称拼写错误,或者该操作在当前版本的Elasticsearch中不可用所致。要解决此问题,首先应该验证操作名称并确保拼写正确。如果拼写正确,请查阅Elasticsearch文档以确保该操作在您的当前版本中可用。如果不可用,您可能需要升级Elasticsearch版本或寻找替代操作。 ## 日志上下文 日志 "Action [" + action + "] not found" 的类名是 TransportService.java。我们为那些寻求深入上下文的人从Elasticsearch源代码中提取了以下内容: ```java onRequestReceived(requestId; action); @SuppressWarnings("unchecked") final RequestHandlerRegistryreg = (RequestHandlerRegistry) getRequestHandler(action); if (reg == null) { assert false : action; throw new ActionNotFoundTransportException("Action [" + action + "] not found"); } final String executor = reg.getExecutor(); if (ThreadPool.Names.SAME.equals(executor)) { try (var ignored = threadPool.getThreadContext().newTraceContext()) { try { ```