1、查詢所有字段中含有changge且不含有hejiu的文檔
@Test public void testQueryStringQuery() throws IOException, InterruptedException, ExecutionException { //指定集群 Settings settings = Settings.builder().put("cluster.name","my-application").build(); //創建客戶端 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300)); //創建查詢對象,查詢所有字段中含有changge且不含有hejiu的文檔 QueryBuilder qb = QueryBuilders.queryStringQuery("+changge -hejiu"); //執行查詢 SearchResponse sr = client.prepareSearch("lib3") .setQuery(qb) .get(); //獲取結果 SearchHits hits = sr.getHits(); for(SearchHit hit:hits) { //輸出json System.out.println(hit.getSourceAsString()); //輸出json的key與value Map<String, Object> map = hit.getSourceAsMap(); for(String key:map.keySet()) { System.out.println(key+"="+map.get(key)); } } client.close(); }
2、查詢所有字段中含有changge或者不含有hejiu的文檔
@Test public void testSimpleQueryStringQuery() throws IOException, InterruptedException, ExecutionException { //指定集群 Settings settings = Settings.builder().put("cluster.name","my-application").build(); //創建客戶端 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300)); //創建查詢對象,查詢所有字段中含有changge或者不含有hejiu的文檔 QueryBuilder qb = QueryBuilders.simpleQueryStringQuery("+changge -hejiu"); //執行查詢 SearchResponse sr = client.prepareSearch("lib3") .setQuery(qb) .get(); //獲取結果 SearchHits hits = sr.getHits(); for(SearchHit hit:hits) { //輸出json System.out.println(hit.getSourceAsString()); //輸出json的key與value Map<String, Object> map = hit.getSourceAsMap(); for(String key:map.keySet()) { System.out.println(key+"="+map.get(key)); } } client.close(); }