当 运行 对 elasticsearch 有意义的查询时,是否可以 return 特定字段

Is it possible to return a specific field when running a query in sense for elasticsearch

我已经将一些数据加载到 elasticsearch 中并针对这些数据编写了一个查询,但是结果包含匹配查询的所有数据。是否可以过滤结果以显示特定字段?

例子 查询以查找特定国家/地区的所有记录,但 return 注册号列表。

所有数据都可用 elasticsearch 但是我得到了每个匹配的完整 json 记录。

我 运行 在 SENSE 中(在 Kibana 4.5.0 中)进行此查询。

查询是...

GET _search
{
  filter_path=reg_no.*,
    "fields" : ["reg_no"],
    "query" : {
        "fields" : ["country_cd", "oprg_stat"],
        "query" : "956 AND 9074"
      }
}

如果我删除这两行

filter_path=reg_no.*,
"fields" : ["reg_no"],

查询运行但返回所有数据。

试试这个查询:

POST _search
{
  "_source": [
    "reg_no"
  ],
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "country_cd": "956"
          }
        },{
          "term": {
            "oprg_stat": "9074"
          }
        }
      ]
    }
  }
}