ElasticSearch在搜索中返回文档,但不在GET中返回

Phi*_*hil 8 elasticsearch

我正在搜索索引中的文档,然后尝试通过它来获取其中的一些文档_id.尽管收到了一组结果,但一些文档无法通过简单的get获取.更糟糕的是,我可以通过URI搜索获得相同的文档?_id:<the id>

例如,运行一个简单的GET

curl -XGET 'http://localhost:9200/keepbusy_process__issuer_application/KeepBusy__Activities__Activity/neHSKSBCSv-OyAYn3IFcew'
Run Code Online (Sandbox Code Playgroud)

给我结果:

{
  "_index" : "keepbusy_process__issuer_application",
  "_type" : "KeepBusy__Activities__Activity",
  "_id" : "neHSKSBCSv-OyAYn3IFcew",
  "exists" : false
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用相同的_id进行搜索:

curl -XGET 'http://localhost:9200/keepbusy_process__issuer_application/KeepBusy__Activities__Activity/_search?q=_id:neHSKSBCSv-OyAYn3IFcew'
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果:

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 1.0,
    "hits": [
      {
        "_index": "keepbusy_process__issuer_application",
        "_type": "KeepBusy__Activities__Activity",
        "_id": "neHSKSBCSv-OyAYn3IFcew",
        "_score": 1.0,
        "_source": {
          "template_uid": "KeepBusy__Activities__Activity.create application",
          "name": "create application",
          "updated_at": "2014-01-08T10:02:33-05:00",
          "updated_at_ms": 1389193353975
        }
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在通过担架ruby API索引文档,并在索引后立即进行刷新.我的本地设置是2个节点.我正在运行v0.90.9

日志中没有任何明显的东西可以解决这个问题.我重新启动了群集,一切似乎都正常启动,但结果是一样的.

有什么我缺少的东西或某种方式我可以进一步诊断这个问题?

imo*_*tov 8

当文档使用非默认路由索引时(在父/子文档的情况下显式设置或从父ID中扣除),通常会发生此问题.如果是这种情况,请尝试在获取请求中指定正确的路由.