Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elasticsearch从搜索中删除默认字段';s响应体_Search_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Compression - Fatal编程技术网 elasticsearch,compression,Search,elasticsearch,Compression" /> elasticsearch,compression,Search,elasticsearch,Compression" />

Elasticsearch从搜索中删除默认字段';s响应体

Elasticsearch从搜索中删除默认字段';s响应体,search,elasticsearch,compression,Search,elasticsearch,Compression,我正在做一个查询,返回大约70k个文档(我需要所有文档,我目前使用的是扫描和滚动) 结果是响应非常大(2MB,我们已经将其从6MB减少到2MB)。我们已经过滤了所需的字段,并且由于查询仅从API调用,因此我们减少了属性的名称 我可以看到,数组“hits”中的每个文档都有以下默认字段,我真的不需要它们: _索引(我们只请求一个索引) _类型(我们只要求一种类型) _id(我们在一个字段上已经有了) _得分(我们没有得分) 是否有办法删除它们,以便我可以具有以下结构: "hits" : [ {

我正在做一个查询,返回大约70k个文档(我需要所有文档,我目前使用的是扫描和滚动)

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

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

  • _索引(我们只请求一个索引)
  • _类型(我们只要求一种类型)
  • _id(我们在一个字段上已经有了)
  • _得分(我们没有得分)
是否有办法删除它们,以便我可以具有以下结构:

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

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

是的,如果您使用的是ES 1.6或更高版本,则可以使用和
过滤器路径
参数

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'

感谢您的快速回复!工作得很有魅力!是否可以使用POST body request筛选命中数据。**字段?@MikhailKholodkov您完全可以使用POST请求,并在查询字符串中添加
filter\u path
。谢谢,我收到了。我的问题是,是否有可能将过滤路径逻辑放入体内?为了保持URI中没有参数。@MikhailKholodkov不,这是不可能的。