释放双眼,带上耳机,听听看~!
-
创建索引
1
2
3
4 1Request request = new Request("PUT", "/something");
2request.setJsonEntity(settingsAndMapping);
3restClient.performRequest(request);
4
settingsAndMapping
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 1{
2 "settings": {
3 "index": {
4 "search": {
5 "slowlog": {
6 "threshold": {
7 "query": {
8 "info": "100ms"
9 }
10 }
11 }
12 },
13 "number_of_shards": "5",
14 "number_of_replicas": "1"
15 }
16 },
17 "mappings": {
18 "sometype": {
19 "properties": {
20 "author": {
21 "type": "text",
22 "fields": {
23 "keyword": {
24 "type": "keyword",
25 "ignore_above": 256
26 }
27 }
28 },
29 "date": {
30 "type": "date"
31 },
32 "id": {
33 "type": "long"
34 },
35 "likes": {
36 "type": "long"
37 },
38 "text": {
39 "type": "text",
40 "analyzer": "ik_max_word",
41 "search_analyzer": "ik_smart"
42 }
43 }
44 }
45 }
46}
47
-
删除索引
1
2
3 1Request request = new Request("DELETE", "/something");
2restClient.performRequest(request);
3
-
索引一个文档
1
2
3
4 1Request request = new Request("POST", "/something/sometype/");
2request.setJsonEntity("{\"author\":\"Mary Jones\",\"text\":\"Jane is an expert in her field\",\"tags\":\"expert\",\"likes\":80,\"date\":\"2019-06-21\"}");
3restClient.performRequest(request);
4
-
指定ID索引文档
1
2
3
4 1Request request = new Request("PUT", "/something/sometype/1/_create");
2request.setJsonEntity("{\"author\":\"Jane Smith\",\"text\":\"I am starting to get the hang of this...\",\"likes\":0,\"date\":\"2019-06-20\"}");
3restClient.performRequest(request);
4
-
获取文档
1
2
3 1Request request = new Request("GET", "/something/sometype/1");
2Response response = restClient.performRequest(request);
3
-
检查文档是否存在
1
2
3
4
5
6 1Request request = new Request("HEAD", "/something/sometype/2");
2Response response = restClient.performRequest(request);
3if(response.getStatusLine().getStatusCode() == 404) {
4 //不存在
5}
6
-
更新文档
1
2
3
4 1Request request = new Request("PUT", "/something/sometype/1/_create");
2request.setJsonEntity("{\"author\":\"Jane Smith\",\"text\":\"I am starting to get the hang of this...\",\"likes\":1,\"date\":\"2019-06-20\"}");
3restClient.performRequest(request);
4
-
删除文档
1
2
3 1Request request = new Request("DELETE", "/something/sometype/1");
2restClient.performRequest(request);
3
-
局部更新
1
2
3
4 1Request request = new Request("POST", "/something/sometype/1/_update");
2request.setJsonEntity("{\"doc\":{\"likes\":1}}");
3restClient.performRequest(request);
4
-
空搜索
1
2
3 1Request request = new Request("GET", "/something/sometype/_search?from=0&size=10");
2Response response = restClient.performRequest(request);
3
-
搜索
1
2
3 1Request request = new Request("GET", "/something/sometype/_search?q=" + java.net.URLEncoder.encode("author:Jones", "UTF-8"));
2Response response = restClient.performRequest(request);
3
查询字符串的一些示例
1
2
3
4
5
6
7
8
9
10 1q=Smith
2q=author:Smith
3q=+author:Smith +text:to
4q=+author:Smith -text:like
5q=+author:(Mary Fir John)
6q=+author:(Mary Fir John) +date:>2019-06-18
7q=date:2019
8q=date:2019-06-20
9q=likes:>=40
10