バージョン: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)
}
}
}
}
}
}
}