java代码简单操作es高亮

package test;


import java.net.InetAddress;
import java.util.Map;

import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.highlight.HighlightField;

public class R1 {

	public static void main(String[] args) throws Exception {
		 Settings  settings = Settings.settingsBuilder().build();
	        Client  client  = TransportClient.builder().settings(settings).build()
	                .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("xxx.xxx.xxx.xxx"),9300));

	        
	        
	        
	        SearchResponse response = client.prepareSearch("index")
	                .setTypes("type")
	                .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
	                .setQuery(QueryBuilders.matchQuery("text","设置"))
	               .addHighlightedField("text")  
	               .setHighlighterPreTags("<font color='red'>")  
	               .setHighlighterPostTags("</font>")
	               .setSize(2)
	                .get();
	        
	        SearchHits hits = response.getHits();
	        System.out.println("总量"+hits.getTotalHits());
	        SearchHit[] hitArray = hits.hits();
	        for (SearchHit hit : hitArray) {
	        	
	        	 Map<String, HighlightField> highlightFields = hit.getHighlightFields();  
	        	 
	        	 //打印高亮显示内容
	        	 for (Map.Entry<String, HighlightField> entry : highlightFields.entrySet()) {  
	        		    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());  
	        		}  
	        	 
	        }
	        client.close();

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值