直接上代码,elasticsearch客户端使用的是Java Low Level REST Client的api,记录备忘:
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import org.apache.http.Header;
import org.apache.http.HttpHost;
import org.apache.http.ParseException;
import org.apache.http.RequestLine;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
import org.elasticsearch.client.Node;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.Response;
import org.elasticsearch.client.ResponseListener;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
/**
* Elasticsearch的基本测试
* @ClassName: ElasticsearchTest1
* @author sunt
* @date 2017年11月22日
* @version V1.0
*/
public class ElasticsearchTest1 {
public final static String HOST = "你的elasticsearch服务器ip";
public final static int PORT = 9300;
public void test() {
RestClient restClient = RestClient.builder(
new HttpHost(HOST, 9200, "http")).build();
String sql = "select * from news ";
Connection conn = JdbcUtils.getConn();
Statement stmt=null;
ResultSet ret = null;
String password=null;
String id = "";
String name = "";
String gender = "";
try {
stmt = conn.createStatement();
//执行语句,得到结果集
ret = stmt.executeQuery(sql);
while (ret.next()) {
//这里只查询的密码
//password = ret.getString(1);
id = ret.getString("id");
name = ret.getString("title");
gender = ret.getString("img");
System.out.println("id:"+id+"---title:"+name+"----img:"+gender);
//Request request = new Request( "GET", "/_cat/indices?v");
//Request request = new Request( "GET", "/test/news/_search?pretty");
Request request = new Request( "POST", "/test/news/"+id);
request.setJsonEntity("{ \"title\": \""+ name +"\",\"img\": \""+ gender +"\"}");
//request.setJsonEntity("{\"query\": { \"match_all\": {} }, \"size\": 10}");
restClient.performRequestAsync(request, new ResponseListener() {
@Override
public void onSuccess(Response response) {
RequestLine requestLine = response.getRequestLine();
HttpHost host = response.getHost();
int statusCode = response.getStatusLine().getStatusCode();
Header[] headers = response.getHeaders();
System.out.println("requestLine-------" + requestLine);
System.out.println("host-------" + host);
System.out.println("statusCode-------" + statusCode);
try {
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println("responseBody-------" + responseBody);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(Exception exception) {
}
});
}
ret.close();
conn.close();//关闭连接
} catch (SQLException e1) {
e1.printStackTrace();
}
}
public static void main(String[] arg) {
ElasticsearchTest1 t= new ElasticsearchTest1();
t.test();
}
}