gpt4 book ai didi

elasticsearch - 如何使用REST请求主体方法执行ElasticSearch并获取返回的json格式/漂亮?

转载 作者:行者123 更新时间:2023-12-02 23:19:33 29 4
gpt4 key购买 nike

在通过REST Request Body方法发出搜索请求时,例如

GET /bank/_search
{
"query": { "match_all": {} },
"sort": [
{ "account_number": "asc" }
]
}

是否可以在任何地方添加参数以请求将返回的响应正文的json格式化/漂亮?

使用 REST Request URI的相同搜索可以做到这一点,例如
GET /bank/_search?q=*&sort=account_number:asc&pretty

如何使用 REST request body实现相同目的?

使用ElasticSearch.NET的低级api,无法控制REST调用,只能提供POST json。
var esClient = new ElasticLowLevelClient(_connectionSettings);
//postDataJson is the json depicted in the question's body
var postData = PostData.String(postDataJson);
var response = esClient.Search<StringResponse>("myIndex", postData);

一个可以发送第三个参数,一个 SearchRequestParameters对象,我在那里找不到任何属性。

enter image description here

最佳答案

您需要添加到您的请求pretty=true像那样:

GET /bank/_search?q=*&sort=account_number:asc&pretty=true

有关更多引用,请检查 here

编辑

我一开始不了解您,应该在请求的标题中。
像这样尝试:
GET /bank/_search?pretty=true
{
"query": { "match_all": {} },
"sort": [
{ "account_number": "asc" }
]
}

编辑2

如果您使用的是 elstic.NET ,并且您也想获得漂亮的Jason。
您需要在 连接中对其进行配置。
这是您应该使用的方法(位于 ConnectionConfiguration : ConnectionConfiguration<ConnectionConfiguration>)类中:
    /// <summary>
/// Forces all requests to have ?pretty=true querystring parameter appended,
/// causing Elasticsearch to return formatted JSON.
/// Also forces the client to send out formatted JSON. Defaults to <c>false</c>
/// </summary>
public T PrettyJson(bool b = true) => Assign(a =>
{
this._prettyJson = b;
const string key = "pretty";
if (!b && this._queryString[key] != null) this._queryString.Remove(key);
else if (b && this._queryString[key] == null)
this.GlobalQueryStringParameters(new NameValueCollection { { key, "true" } });
});

在这里您可以看到 git

关于elasticsearch - 如何使用REST请求主体方法执行ElasticSearch并获取返回的json格式/漂亮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51123968/

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