在弹性搜索的意义上运行查询时是否可以返回特定字段

时间:2016-05-18 16:07:14

标签: elasticsearch kibana sense

我已将一些数据加载到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"],

查询运行但会带回所有数据。

1 个答案:

答案 0 :(得分:1)

尝试此查询:

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