Это тело запроса, которое я для этой конечной точки использую Почтальоном 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
}
}
}]
}
}
}
На этот URL localhost: 9201 / rensedbda029ce2b / _search
И я получаю результаты https://gist.gith
Но когда я делаю тот же запрос от моего сервера к ES, я получаю сообщение об ошибке: «эластичный: ошибка 400 (неправильный запрос): ожидается [START_OBJECT], но найден [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, поэтому, пожалуйста, помогите.
ОБНОВЛЕНИЕ:
Это то, что я получил, когда зарегистрировал свой запрос, используя SetTraceLog
| ELASTICPOST /resp8ecf8427e/_search HTTP/1.1
| Host: 172.17.0.1:9201
| User-Agent: elastic/5.0.81 (linux-amd64)
| Transfer-Encoding: chunked
| Accept: application/json
| Content-Type: application/json
| Accept-Encoding: gzip
|
| 7
| ["_id"]
| 0
Я не могу понять, что означают 7 и ["_id"]
. Это мое тело запроса, которое получил ES?