亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 golang 服務器到 ES 的 ES 查詢返回錯誤,而 postman 直接向 ES

從 golang 服務器到 ES 的 ES 查詢返回錯誤,而 postman 直接向 ES

Go
慕哥9229398 2023-06-26 15:45:51
這是我使用 Postman 為此端點的請求正文localhost:9201/response_v2_862875ee3a88a6d09c95bdbda029ce2b/_search{"_source": ["_id"],"from": 1,"size": 10,: {                                "should": {                                    "match": {            }        }, {            "range": {                "_updated_at": {                    "from": "36163",                    "include_lower": true,                    "include_upper": true,                    "to": null                }            }        }]    }}}到此網址 localhost:9201/rensedbda029ce2b/_search我得到了結果https://gist.gith但是當我從服務器向 ES 發出相同的請求時,我收到一條錯誤消息“elastic: Error 400 (Bad Request): Expected [START_OBJECT] but found [START_ARRAY] [type=parsing_exception]”這些是我的代碼的一些片段。我從另一個 util 函數獲取查詢,并在調用 ES 時使用它。這是對ES的調用res, err = r.esConn.Search(indexName).e(requestBody.ResponsePageLength).Do(ctx)查詢構建器函數是這樣的,它接受從對我的服務器的請求正文中提取的參數,并基于該參數構建查詢。func CreateMonitoringPipeline(maxResponseTime string, responseQueries []ResponseQuery, baselineFormId string) *elastic.BoolQuery {finalQuery := elastic.NewBoolQuery()    dateRangeMatchQuery := elastic.NewRangeQuery("_updated_at").        Gte(maxResponseTime)    finalQuery.Filter(dateRangeMatchQuery)}return finalQuery}我不明白為什么會發生這種情況?我的 ES 使用 ES 二進制文件運行,我的服務器在 docker 容器中運行。對 ES 和 golang 完全陌生,所以請幫忙。
查看完整描述

1 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

["_id"]就是正在發送的請求。問題出在請求行中,因為Source([]string{"_id"})沒有將源字段設置為["_id"]您想要的,而是:

Source 允許用戶手動設置請求正文,而無需使用 Elastic 中的任何結構和接口。

你想改用FetchSourceContext

res,?err?=?r.esConn.Search(indexName).From(requestBody.MaxResponseTimestampCount).FetchSourceContext(elastic.NewFetchSourceContect(true).?Include("_id")).Query(query).Size(requestBody.ResponsePageLength).Do(ctx)
查看完整回答
反對 回復 2023-06-26
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號