首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >执行ElasticSearch更新时的document_missing_exception

执行ElasticSearch更新时的document_missing_exception
EN

Stack Overflow用户
提问于 2020-10-14 19:51:43
回答 1查看 2.8K关注 0票数 0

我用同样的"document_missing_exception“问题回答了几个问题,但看起来它们在我的情况下不是同一个问题。我可以查询文档,但尝试更新文档时失败。我的问题是:

代码语言:javascript
运行
复制
# search AuthEvent by sessionID
GET events-*/_search
{
  "size": "100",
  "query": {
      "bool": {
          "must": [{
                  "term": {
                      "type": {
                          "value": "AuthEvent"
                      }
                  }
              },
              {
                "term": {
                  "client.sessionID.raw": {
                    "value": "067d660a1504Y67FOuiiRIEkVNG8uYIlnK87liuZGLBcSmEW0aHoDXAHfu"
                  }
                }
              }
          ]
      }
  }
}

查询结果:

代码语言:javascript
运行
复制
{
  "took" : 18,
  "timed_out" : false,
  "_shards" : {
    "total" : 76,
    "successful" : 76,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 6.705622,
    "hits" : [
      {
        "_index" : "events-2020.10.06",
        "_type" : "doc",
        "_id" : "2c675295b27a225ce243d2f13701b14222074eaf",
        "_score" : 6.705622,
        "_routing" : "067d660a1504Y67FOuiiRIEkVNG8uYIlnK87liuZGLBcSmEW0aHoDXAHfu",
        "_source" : {
          # some data
        }
      }
    ]
  }
}

更新请求:

代码语言:javascript
运行
复制
POST events-2020.10.06/_doc/2c675295b27a225ce243d2f13701b14222074eaf/_update
{
  "doc" : {
    "custom" : {
      "testField" : "testData"
    }
  }
}

和更新结果:

代码语言:javascript
运行
复制
{
  "error" : {
    "root_cause" : [
      {
        "type" : "document_missing_exception",
        "reason" : "[_doc][2c675295b27a225ce243d2f13701b14222074eaf]: document missing",
        "index_uuid" : "5zhQy6W6RnWscDz7Av4_bA",
        "shard" : "1",
        "index" : "events-2020.10.06"
      }
    ],
    "type" : "document_missing_exception",
    "reason" : "[_doc][2c675295b27a225ce243d2f13701b14222074eaf]: document missing",
    "index_uuid" : "5zhQy6W6RnWscDz7Av4_bA",
    "shard" : "1",
    "index" : "events-2020.10.06"
  },
  "status" : 404
}

我对ElasticSearch还很陌生,找不到任何理由来解释这种行为。我使用ElasticSearch 6.7.1 oss版本+ Kibana来操作数据。我也尝试了批量更新,但以相同的错误结束。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-14 19:55:31

正如您在查询结果中看到的那样,您的文档已经使用routing值进行了索引,但是您在更新请求中遗漏了该值。

试试这个:

代码语言:javascript
运行
复制
POST events-2020.10.06/_doc/2c675295b27a225ce243d2f13701b14222074eaf/_update?routing=067d660a1504Y67FOuiiRIEkVNG8uYIlnK87liuZGLBcSmEW0aHoDXAHfu
{
  "doc" : {
    "custom" : {
      "testField" : "testData"
    }
  }
}

如果一个文档被一个routing value,索引,则所有后续的get、update和delete操作也需要使用该路由值进行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64352655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档