【问题标题】:Elasticsearch query not giving result, and shows pending requestElasticsearch 查询未给出结果,并显示待处理的请求
【发布时间】:2015-12-28 14:24:59
【问题描述】:

我创建了一个 node.js API,它根据请求参数从 Elasticsearch 中获取结果。当我点击 API 时,当弹性搜索中有数据时,它会将请求显示为待处理。

Elasticsearch 查询:

{
  "partial_fields": {
    "basic": {
      "include": [ "a", "b", "c", "d" ]
    }
  },
  "query": {
    "match": {
      "a" : "xyz"
    }
  }
}

当我在调试控制台中检查状态时,它显示状态为 PENDING。我不知道我要去哪里错了。有人可以解释我应该如何解决这个问题吗?

编辑

Elasticsearch 版本是:2.1.1

Node.JS 错误:

未处理的拒绝 [search_parse_exception] 无法解析搜索源。未知搜索元素 [partial_fields]

【问题讨论】:

  • 能否请您指定 elelasticsearch 版本和 Node.JS 错误?

标签: node.js elasticsearch


【解决方案1】:

从错误中可以看出elasticsearch 无法识别/解析术语partial_fields。我查看了 ES 站点,他们提到 ES 从 2.x 版开始不支持 partial_fields 术语。相反,他们建议使用源过滤。请使用关注post 了解 2.x 中有关源过滤的更改。

请更改您的查询以使用源过滤器,如下所示:

{
  "_source: [ "a", "b", "c", "d" ],
  "query": {
    "match": {
      "a" : "xyz"
    }
  }
}

您可以将您的 ES 版本降级到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2016-03-03
    • 2017-10-03
    • 2017-09-08
    • 1970-01-01
    相关资源
    最近更新 更多