使用 kibana 4 时出现 DocumentAlreadyExistsException

DocumentAlreadyExistsException while using kibana 4

我提到了很多与 DocumentAlreadyExistsException 相关的链接,但其中大部分是在使用弹性搜索 api 或在某些代码中使用弹性搜索时引起的。但就我而言,我只是使用 kibana 4 而不是代码。有谁知道使用 kibana 4 时这个问题是什么时候引起的? 以下是例外情况。

[.kibana][[.kibana][0]] DocumentAlreadyExistsException[[dashboard][New-Dashboard]: document already exists]
    at org.elasticsearch.index.engine.InternalEngine.innerCreateNoLock(InternalEngine.java:411)
    at org.elasticsearch.index.engine.InternalEngine.innerCreate(InternalEngine.java:369)
    at org.elasticsearch.index.engine.InternalEngine.create(InternalEngine.java:341)
    at org.elasticsearch.index.shard.IndexShard.create(IndexShard.java:517)
    at org.elasticsearch.index.engine.Engine$Create.execute(Engine.java:789)
    at org.elasticsearch.action.support.replication.TransportReplicationAction.executeIndexRequestOnPrimary(TransportReplicationAction.java:1073)
    at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:170)
    at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.performOnPrimary(TransportReplicationAction.java:579)
    at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.doRun(TransportReplicationAction.java:452)
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

当您尝试使用已存在的名称保存 kibana 对象(已保存的搜索、可视化或仪表板)时通常会发生这种情况(因为 kibana 也使用 id 的名称段)。

这个异常是因为 kibana 故意发送带有 &op_type=create 的 REST 请求而抛出的,当对象 id 已经存在时抛出异常。
然后 kibana 通过询问您是否确定要覆盖正在保存的对象来处理此问题,如果您单击 'yes',则会进行相同的 REST 调用,但没有 op_type=create.