gpt4 book ai didi

elasticsearch - 更改ElasticSearch响应json的结构

转载 作者:行者123 更新时间:2023-12-02 22:51:36 27 4
gpt4 key购买 nike

在某些情况下,我不需要响应json中的所有字段。

例如,

// request json
{
"_source": "false",
"aggs": { ... },
"query": { ... }
}

// response json
{
"took": 123,
"timed_out": false,
"_shards": { ... },
"hits": {
"total": 123,
"max_score": 123,
"hits": [
{
"_index": "foo",
"_type": "bar",
"_id": "123",
"_score": 123
}
],
...
},
"aggregations": {
"foo": {
"buckets": [
{
"key": 123,
"doc_count": 123
},
...
]
}
}
}

实际上,我不需要每次都使用 _index / _type。进行聚合时,不需要 hits块。
"_source" : false"_source": { "exclude": [ "foobar" ] }可以帮助忽略/排除 _source块中的 hits字段。

但是我可以以更常见的方式更改ES响应json的结构吗?谢谢。

最佳答案

我最近需要“精简” Elasticsearch响应,因为它在json中的大小超过1MB,因此我开始使用filter_path请求变量。
这允许包括或排除特定字段,并且可以具有不同类型的通配符。阅读上面链接中的文档,因为那里有很多信息。

例如。

_search?filter_path=aggregations.**.hits._source,aggregations.**.key,aggregations.**.doc_count

这样(在我的情况下)将响应大小减小了一半,而没有显着增加搜索持续时间,因此值得付出努力。

关于elasticsearch - 更改ElasticSearch响应json的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26709175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com