ElasticSearch实战(七) API

释放双眼,带上耳机,听听看~!
  • 创建索引


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

 

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索