Integer_range型のフィールドの検索について

バージョン:Amazon Elasticsearch Service 6.8

以下のようなinteger_range型のフィールドを持つインデックスがあります。

{
"company-data" : {
"aliases" : { },
"mappings" : {
"_doc" : {
"properties" : {
"companyname" : {
"type" : "text"
},
"capital_range" : {
"type" : "integer_range"
}
}
}
}
}
}

このインデックスからphpのcurl_execで「capital_range」をrangeで絞り込み取得したいのですが
下記エラーとなってしまいます。

エラー: [range] query doesn't support multiple fields, found [capital_range] and [gte]

Kibanaから下記クエリ検索した際には正常に機能しているようなのですが
Kibanaとcurlからのアクセスで違いがあるのでしょうか?

GET /company-data/_search
{
"query": {
"bool":{
"must":{
"range": {
"capital_range": {"gte":0,"lte":4999999}
}
}
}
}
}

ちなみにphpで条件指定しているjsonのダンプは以下となります。

["query"]=>
array(1) {
["bool"]=>
array(2) {
["must"]=>
array(2) {
[0]=>
array(1) {
["range"]=>
array(1) {
["capital_range"]=>
array(2) {
[0]=>
array(1) {
["gte"]=>
int(0)
}
[1]=>
array(1) {
["lte"]=>
int(4999999)
}
}
}
}
}
}
}

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.