Я хочу реализовать следующий запрос Elasticsearch с использованием Golang.
{
"query": {
"bool": {
"must": {
"range": { "sales_start_date": { "gte": "2018-07-01T00:00:00.000Z" } }
},
"filter": {
"terms": { "item_holder_id": [2, 7, 9] }
}
}
}
}
'
Мой текущий код следующий (я использую библиотеку http://github.com/olivere/elastic).
query := elastic.NewBoolQuery()
query = query.Must(elastic.NewRangeQuery("sales_start_date").Gte(date).TimeZone("+09:00"))
query = query.Filter(elastic.NewTermsQuery("item_holder_id", ihids))
с ihids, являющимся []int
.Когда я выполняю этот код, я получаю ошибку
elastic: Error 400 (Bad Request): [terms] unknown token [END_ARRAY] after [item_holder_id] [type=parsing_exception]
После некоторого исследования я обнаружил, что мне нужно написать это так
elastic.NewTermsQuery("item_holder_id", "1", "2")
, но, будучи новичком в Голанге, я думаю, что яотсутствует некоторые основные понятия.Как я могу передать массив значений, подобных этому?
Спасибо за любую информацию, которая может мне помочь!