注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】
自然语言处理系列四十七
Elasticsearch搜索引擎》Elasticsearch代码实战
上一篇文章详细Elasticsearch安装部署和使用,本篇文章将给一个Java调用Elasticsearch代码实战例子。
6. Elasticsearch的Java调用例子
首先添加最新或者你需要的版本Maven依赖如下,替换到x.x.x版本部分。
org.elasticsearch
elasticsearch
x.x.x
org.elasticsearch.client
transport
x.x.x
实现关键词进行相关度搜索的Java代码例子如12.1所示。
【代码12.1】 ESDemo.java
package com.chongdianleme.job;
import org.apache.commons.lang.StringUtils;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.client.Client;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.text.Text;
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.fetch.subphase.highlight.HighlightBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* Created by 充电了么App - 陈敬雷
* 充电了么App官网:http://chongdianleme.com/
* 充电了么App - 专注上班族职业技能提升充电学习的在线教育平台
* Elasticsearch的Java代码调用演示
*/
public class ESDemo {
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static Client client = null;
//获取客户端访问连接
public static Client getClient(