--- title: "要跟随的索引 - 如何解决此 Elasticsearch 异常" date: 2026-01-11 lastmod: 2026-01-11 description: "Elasticsearch 尝试跟随一个不存在或无法访问的索引时会发生此错误。这通常出现在跨集群复制场景中。" tags: ["索引跟随", "跨集群复制", "CCR"] summary: "版本: 6.8-7.15 简而言之,当 Elasticsearch 尝试跟随一个不存在或无法访问的索引时,就会发生此错误。这在跨集群复制(CCR)中很常见,其中一个集群尝试从另一个集群复制索引。要解决此问题,请确保您尝试跟随的索引确实存在且可访问。检查您的集群设置和网络连接。此外,确保为操作授予了必要的权限。如果索引已被删除,您可能需要重新创建它或跟随不同的索引。 日志上下文 # 日志 “index to follow [” 的类名是 AutoFollowCoordinator.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: .filter(otherPattern -> otherPattern.v2().match(indexAbstraction)) .map(Tuple::v1) .collect(Collectors.toList()); if (otherMatchingPatterns.size() != 0) { groupedListener.onResponse( new Tuple<>(indexToFollow; new ElasticsearchException("index to follow [" + indexToFollow.getName() + "] for pattern [" + autoFollowPattenName + "] matches with other patterns " + otherMatchingPatterns + ""))); } else { final Settings leaderIndexSettings = remoteMetadata.getIndexSafe(indexToFollow).getSettings(); if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(leaderIndexSettings) == false) { String message = String." --- > **版本:** 6.8-7.15 简而言之,当 Elasticsearch 尝试跟随一个不存在或无法访问的索引时,就会发生此错误。这在跨集群复制(CCR)中很常见,其中一个集群尝试从另一个集群复制索引。要解决此问题,请确保您尝试跟随的索引确实存在且可访问。检查您的集群设置和网络连接。此外,确保为操作授予了必要的权限。如果索引已被删除,您可能需要重新创建它或跟随不同的索引。 日志上下文 ----------- 日志 "index to follow [" 的类名是 [AutoFollowCoordinator.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java .filter(otherPattern -> otherPattern.v2().match(indexAbstraction)) .map(Tuple::v1) .collect(Collectors.toList()); if (otherMatchingPatterns.size() != 0) { groupedListener.onResponse( new Tuple<>(indexToFollow; new ElasticsearchException("index to follow [" + indexToFollow.getName() + "] for pattern [" + autoFollowPattenName + "] matches with other patterns " + otherMatchingPatterns + ""))); } else { final Settings leaderIndexSettings = remoteMetadata.getIndexSafe(indexToFollow).getSettings(); if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(leaderIndexSettings) == false) { String message = String.format(Locale.ROOT; "index [%s] cannot be followed; because soft deletes are not enabled"; ```