要件:
Javaのバックエンドのコード:
公共 Rクエリー(@RequestParam(名= " APP_ID " )ロングのAppID、 @RequestParam(名前 = " CHANNEL_ID " )ロングchannelId、 @RequestParam(名前 = " 国" )文字列の国、 @RequestParam(名前 = " 日付" )文字列日付){ searchRequest searchRequest = 新しい searchRequest(" peo_publisher_report " )。 SearchSourceBuilder searchSourceBuilder =新しいSearchSourceBuilder(); BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()。 もし(!APPID = NULL ){ boolQuery.must(QueryBuilders.matchQuery(" APP_ID " 、APPID))。 } であれば(channelId!= NULL ){ boolQuery.must(QueryBuilders.matchQuery(" CHANNEL_ID " 、channelId))。 } 場合(国!= nullの){ boolQuery.must(QueryBuilders.matchQuery(" 国" 、国))。 } のSimpleDateFormat形式 = 新しいてSimpleDateFormat(" YYYY-MM-DD " )。 もし(!日付= ヌル){ 試み{ boolQuery.must(QueryBuilders.rangeQuery(" statistical_time "。)から。(format.parse(日).getTime())に(新しい。日付()getTime())); } キャッチ(はParseException電子){ e.printStackTrace(); } } searchSourceBuilder.query(boolQuery)。 searchRequest.source(searchSourceBuilder)。 してみてください{ SearchResponse検索を = client.search(searchRequest、RequestOptions.DEFAULT)。 リターン。R.ok()に置く(" データ" 、search.toString()); } キャッチ(IOExceptionを電子){ e.printStackTrace(); リターン。R.error()に置く(" エラー" 、e.getMessage()); } }
初心者のESは、多基準クエリ、このレコードを達成する方法がわかりません。
後期フロントエンドのコードを埋める~~~~