Elasticsearch从搜索的响应正文中删除默认字段

时间:2015-11-02 16:11:01

标签: search elasticsearch compression

我正在做一个返回70k文档的查询(我需要所有这些文件,我当前正在使用scan& scroll)

响应非常大(2 MB,我们已将其从6 MB减少)。我们已经过滤了我们需要的字段,并且由于只从API调用查询,我们减少了属性的名称。

我可以看到数组中的每个文档“点击”都有以下默认字段,我真的不需要它们:

  • _index(我们只在一个索引上请求)
  • _type(我们只在一种类型上请求)
  • _id(我们alredy在场上有这个)
  • _score(我们没有得分)

有没有办法删除它们,所以我可以有以下结构:

"hits" : [
{
    "_source": {
        ...
    }
},
{
    "_source": {
        ...
    }
}

感谢阅读! 我将感激你的帮助!

1 个答案:

答案 0 :(得分:11)

是的,如果您使用的是ES 1.6或更高版本,则可以使用response filteringfilter_path参数。

curl -XGET 'localhost:9200/_search?pretty&filter_path=hits.hits._source'

您甚至可以只指定所需的字段

curl -XGET 'localhost:9200/_search?pretty&filter_path=hits.hits._source&_source=title,name'