クエリフィールドは長葛市の利益が含まれているとlvyouが含まれていない、またはアドレスフィールドがbeiジン文書が含まれており、誕生日の前に、両方の必須会う> =「1980年1月1日」
@Test 公共 無効 testBoolQuery()スローIOExceptionが、InterruptedExceptionある、ExecutionExceptionを{ // クラスタ指定 の設定設定= Settings.builder()PUT( "cluster.name"、 "マイ・アプリケーション。" ).Buildを(); // クライアントを作成終了 のtransportClientクライアント= 新しい新PreBuiltTransportClient(設定) .addTransportAddress(新新 TransportAddress(InetAddress.getByName(「192.168.43.151」)、9300 )); // クエリオブジェクトを作成し、クエリフィールドが長葛市の利益が含まれているとlvyouが含まれていない、またはアドレスフィールドが含まれていますBEIジン文書、および誕生日の前に、両方の必須会う> =「1980年1月1日」 QueryBuilder QB =QueryBuilders.boolQuery() .must(QueryBuilders.matchQuery( "利益"、 "長葛市" )) .mustNot(QueryBuilders.matchQuery( "利益"、 "lvyou" )) .should(QueryBuilders.matchQuery( "アドレス"、「BEIジン」)) .filter(QueryBuilders.rangeQuery( "誕生日")GTE( "1980年1月1日")形式(。 "YYYY-MM-DD" )); // 执行查询 SearchResponse SR = client.prepareSearch( "LIB3" ) .setQuery(QB) に.get(); SearchHitsヒット= sr.getHits(); 以下のために(SearchHitヒット:ヒットを){ // 输出JSON するSystem.out.println(hit.getSourceAsString()); // 输出JSON的キー与価値 地図<文字列、オブジェクト>マップ= hit.getSourceAsMap(); 用(文字列キー:map.keySet()){ System.out.printlnは(キー + "=" + map.get(キー))。 } } )(client.close。 }