elasticsearch搜索全部信息java

博客介绍了不带关键词将全文分页搜索的方法,还提及只查询指定部分字段的情况,同时列出了可能抛出的异常,如 UnknownHostException、ExecutionException、InterruptedException 等。

/**
* 不带关键词,将全文分页搜出来
* @throws UnknownHostException
* @throws ExecutionException
* @throws InterruptedException
*/

@Test
public void essearchAlOne() throws UnknownHostException, InterruptedException, ExecutionException {
	
	Settings settings=Settings.builder().put("cluster.name", "cluster-elasticsearch-prod").build();
	
	TransportClient client=new PreBuiltTransportClient(settings)
			.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.107"), 9300))
	.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.14"), 9300));
	
	SearchResponse response = client.prepareSearch("tgdsm")
			.setSize(1000).execute().actionGet();
			/*.addSort("id", SortOrder.ASC);*/
			
			// 从第几条开始,查询多少条
			/*SearchResponse response = setQuery.setFrom(0).setSize(2).get();*/
			
			SearchHits searchHits = response.getHits();
			System.out.println("一共的记录数: " + searchHits.getTotalHits());
			
			Iterator<SearchHit> iterator = searchHits.iterator();
			while (iterator.hasNext()){
				SearchHit searchHit = iterator.next();
				System.out.println(searchHit.getSourceAsString());
			}

	}

下面是将不把全部信息查出来 只包含指定的部分字段
/**
* 不带关键词,将全文分页搜出来
* @throws UnknownHostException
* @throws ExecutionException
* @throws InterruptedException
*/

@Test
public void essearchAlOne() throws UnknownHostException, InterruptedException, ExecutionException {
	
	Settings settings=Settings.builder().put("cluster.name", "cluster-elasticsearch-prod").build();
	
	TransportClient client=new PreBuiltTransportClient(settings)
			.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.107"), 9300))
	.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.14"), 9300));
	
	SearchResponse response = client.prepareSearch("tgdsm").setFetchSource(new String[] {"FileName","FileSize","User_ID","LastChangerTime"}, null).setFrom(0).setSize(10)
			.setSize(1000).execute().actionGet();
			/*.addSort("id", SortOrder.ASC);*/
			HashMap<String,Object> hashMap = new HashMap<String,Object>();
			ArrayList<Object> arrayList = new ArrayList<>();
			
			SearchHits searchHits = response.getHits();
			System.out.println("一共的记录数: " + searchHits.getTotalHits());
			
			Iterator<SearchHit> iterator = searchHits.iterator();
			while (iterator.hasNext()){
				SearchHit searchHit = iterator.next();
				arrayList.add(searchHit.getSourceAsString());
			}
			System.out.println(arrayList);
			

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值