Elasticsearch 通过 id 获取不起作用但文档存在

2024-05-16

我在 elasticsearch 1.2.0(最近从 1.0.1 升级)上看到 ids 的奇怪行为。

搜索检索我的文档,显示 _id 的正确值:

[终端]

curl 'myServer:9200/global/_search?q=someField:something

结果是

{
  "took": 79,
  "timed_out": false,
  "_shards": {
    "total": 12,
    "successful": 12,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 17.715034,
    "hits": [
      {
        "_index": "global",
        "_type": "user",
        "_id": "7a113e4f-44de-3b2b-a3f1-fb881da1b00a",
        ...
      }
    ]
  }
}

但直接查找 id 不会:
[终端]

curl 'myServer:9200/global/user/7a113e4f-44de-3b2b-a3f1-fb881da1b00a'

结果是

{
  "_index": "global",
  "_type": "user",
  "_id": "7a113e4f-44de-3b2b-a3f1-fb881da1b00a",
  "found": false
}

这似乎是在之前使用自定义脚本更新的文档上。

有任何想法吗?


我认为你应该升级到1.2.1 由于发行说明(http://www.elasticsearch.org/blog/elasticsearch-1-2-1-released/ http://www.elasticsearch.org/blog/elasticsearch-1-2-1-released/)存在一些问题,尤其是 get 时:

“Elasticsearch 1.2.0 中存在一个路由错误,可能会对集群产生许多不良副作用。可能的副作用包括:

在升级到 1.2.0 之前编入索引的文档可能无法通过 get 访问。搜索可以找到这些文档,但不能通过 ID 直接获取文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch 通过 id 获取不起作用但文档存在 的相关文章

随机推荐