Elasticsearch - Использование Java SDK для запроса ES вместе с Range и Painless Script - PullRequest
0 голосов
/ 07 июня 2019

У меня есть следующий запрос Elasticsearch, который хорошо работает с REST Client, но мне нужно выяснить, как я могу запросить то же самое с помощью Java SDK.Итак, у меня есть Query, а затем выполняется функция преобразования карты после первичной фильтрации.

Может кто-нибудь помочь мне, как я могу преобразовать приведенный ниже запрос в запрос Java SDK?

{  
   "_source":"fdpSegment",
   "query":{  
      "bool":{  
         "must":[  
            {  
               "match":{  
                  "FileNbr":{  
                     "query":"U20"
                  }
               }
            },
            {  
               "bool":{  
                  "should":[  
                     {  
                        "range":{  
                           "fdpSegment.GMTFdpFromDtmMillis":{  
                              "from":1514788200000,
                              "to":1575181800000
                           }
                        }
                     },
                     {  
                        "range":{  
                           "fdpSegment.GMTFdpToDtmMillis":{  
                              "from":1514788200000,
                              "to":1575181800000
                           }
                        }
                     }
                  ]
               }
            }
         ]
      }
   },
   "from":0,
   "size":0,
   "sort":[  
      {  
         "fdpSegment.GMTFdpFromDtmMillis":"asc"
      }
   ],

   "aggs":{  
      "sumForEntity":{  
         "scripted_metric":{  
            "params":{  
               "from_arrival":1514788200000,
               "thresholdConstant":3600000000,
               "to_arrival":1575181800000
            },
            "init_script":"state.transactions = []",
            "map_script":"...",
            "combine_script":"...",
            "reduce_script":"..."
         }
      }
   }
}
...