0

我为简单的纯文本查询建立了一个相对简单的搜索索引。没有路由、自定义分析器或类似的东西。一个搜索实例/节点,一个索引。

我删除了索引中的文档,RESTfull API 确认:

获取 /INDEX_NAME/person/464

{
  "_index": "INDEX_NAME",
  "_type": "person",
  "_id": "464",
  "exists": false
}

但是,文档是从简单的搜索中返回的

发布 /INDEX_NAME/人

{
  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "default_field": "person.offices",
            "query": "Chicago"
          }
        }
      ]
    }
  }
}

返回的行之一:

{
  "_index": "INDEX_NAME",
  "_type": "person",
  "_id": 464,
  "_score": null,
  "fields": [
    ...
  ]
}

我是 ElasticSearch 的新手,我认为在深入挖掘之前我终于掌握了基本概念。但我不确定为什么无法通过 REST 访问文档但它仍然出现在结果中?

我也遇到了从 API 返回文档但在搜索中没有返回的反向问题。为了清楚起见,我暂时考虑将其作为一个单独的问题,但我感觉这两个问题可能是相关的。

我的一部分想要删除我的索引并重建它,但我不想在几天内陷入同样的​​情况(我不确定这是否会有所帮助)。

关于为什么会发生这种差异的任何想法或指示?也许一个进程处于某种僵尸状态,只需要重新启动弹性搜索?

4

0 回答 0