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

适用版本: 7.16-8.9

简而言之,当您尝试在Elasticsearch中创建一个ID已存在的过滤器时,会出现此错误。Elasticsearch要求每个过滤器具有唯一的ID以避免冲突。要解决此问题,您可以删除具有相同ID的现有过滤器,或者为新过滤器使用不同的唯一ID。如果目的是修改现有过滤器,另一个选择是更新该过滤器。

日志上下文 #

日志 “A filter with id [” + filter.getId() + “] already exists” 的类名是 TransportPutFilterAction.java。我们从Elasticsearch源代码中提取了以下内容,供那些需要深入了解上下文的用户参考:

@Override
public void onFailure(Exception e) {
    Exception reportedException;
    if (ExceptionsHelper.unwrapCause(e) instanceof VersionConflictEngineException) {
        reportedException = new ResourceAlreadyExistsException("A filter with id [" + filter.getId() + "] already exists");
    } else {
        reportedException = ExceptionsHelper.serverError("Error putting filter with id [" + filter.getId() + "]"; e);
    }
    listener.onFailure(reportedException);
}