首先官网下载5.1版本/downloads/elasticsearch 我下载的是ZIP版本。
解压直接本地运行bin/elasticsearch,32位JAVA或者内存不够大的同学请修改config下的文件 我的修改如下
-Xms400m
-Xmx400m
跑起来后就是环境的配置啦。
一定要有这么几项
<dependency>
<groupId></groupId>
<artifactId>elasticsearch</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>transport</artifactId>
<version>5.1.1</version>
</dependency>
<dependency>
<groupId>.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
接着开始我们最简单的第一个hello world ,对ES进行增的操作
try {
byte[] addr = new byte[]{127,0,0,1};
TransportClient client = new PreBuiltTransportClient()
.addTransportAddress(new InetSocketTransportAddress((addr), 9300));
IndexResponse response = ("twitter", "tweet", "1")
.setSource(jsonBuilder()
.startObject()
.field("user", "kimchy")
.field("postDate", new Date())
.field("message", "trying out Elasticsearch")
.endObject()
)
.get();
();
}
catch(Exception e)
{
//
}
代码赛到一个可以跑的地方就可以了。http://localhost:9200/twitter/tweet/1 get 一下。成功拿到数据。
添加JSON的地方我们可能希望用另外的类。修改如下
JSONObject jsonObject= new JSONObject();
("user","mytest5");
// ("postDate",new Date());日期直接使用有格式的问题。
("message","mymessage5");
JSONArray jsonArray = new JSONArray();
("test41");
("test42");
("testarray", jsonArray);
String message = ();
IndexResponse response = ("twitter", "tweet", "5")
.setSource(message)
.get();
对ES进行查的操作
GetResponse response = ("twitter", "tweet", "6").get();
String strTmp2 = ();
DeleteResponse response = ("twitter", "tweet", "1").get();
同步条件删除
BulkIndexByScrollResponse response =
(client)
.filter(("user", "你信不信呢?"))
.source("twitter")
.get();
long deleted = ();
异步条件删除
(client)
.filter(("gender", "male"))
.source("persons")
.execute(new ActionListener<BulkIndexByScrollResponse>() {
@Override
public void onResponse(BulkIndexByScrollResponse response) {
long deleted = ();
}
@Override
public void onFailure(Exception e) {
// Handle the exception
}
});
更新,查询的各种函数就看文档吧。
/guide/en/elasticsearch/client/java-api/current/
第一个程序就此搞定!
等空下来。我将写一个完整的增删改查,包括JAVA client用法和restful用法,JPA用法则要延后了。