21
21
22
22
import org .apache .http .Header ;
23
23
import org .elasticsearch .action .ActionListener ;
24
+ import org .elasticsearch .action .admin .indices .alias .get .GetAliasesRequest ;
24
25
import org .elasticsearch .action .admin .indices .close .CloseIndexRequest ;
25
26
import org .elasticsearch .action .admin .indices .close .CloseIndexResponse ;
26
27
import org .elasticsearch .action .admin .indices .alias .IndicesAliasesRequest ;
35
36
import org .elasticsearch .action .admin .indices .open .OpenIndexResponse ;
36
37
37
38
import java .io .IOException ;
38
- import java .util .Collections ;
39
+
40
+ import static java .util .Collections .emptySet ;
39
41
40
42
/**
41
43
* A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Indices API.
@@ -57,7 +59,7 @@ public final class IndicesClient {
57
59
*/
58
60
public DeleteIndexResponse delete (DeleteIndexRequest deleteIndexRequest , Header ... headers ) throws IOException {
59
61
return restHighLevelClient .performRequestAndParseEntity (deleteIndexRequest , Request ::deleteIndex , DeleteIndexResponse ::fromXContent ,
60
- Collections . emptySet (), headers );
62
+ emptySet (), headers );
61
63
}
62
64
63
65
/**
@@ -68,7 +70,7 @@ public DeleteIndexResponse delete(DeleteIndexRequest deleteIndexRequest, Header.
68
70
*/
69
71
public void deleteAsync (DeleteIndexRequest deleteIndexRequest , ActionListener <DeleteIndexResponse > listener , Header ... headers ) {
70
72
restHighLevelClient .performRequestAsyncAndParseEntity (deleteIndexRequest , Request ::deleteIndex , DeleteIndexResponse ::fromXContent ,
71
- listener , Collections . emptySet (), headers );
73
+ listener , emptySet (), headers );
72
74
}
73
75
74
76
/**
@@ -79,7 +81,7 @@ public void deleteAsync(DeleteIndexRequest deleteIndexRequest, ActionListener<De
79
81
*/
80
82
public CreateIndexResponse create (CreateIndexRequest createIndexRequest , Header ... headers ) throws IOException {
81
83
return restHighLevelClient .performRequestAndParseEntity (createIndexRequest , Request ::createIndex , CreateIndexResponse ::fromXContent ,
82
- Collections . emptySet (), headers );
84
+ emptySet (), headers );
83
85
}
84
86
85
87
/**
@@ -90,7 +92,7 @@ public CreateIndexResponse create(CreateIndexRequest createIndexRequest, Header.
90
92
*/
91
93
public void createAsync (CreateIndexRequest createIndexRequest , ActionListener <CreateIndexResponse > listener , Header ... headers ) {
92
94
restHighLevelClient .performRequestAsyncAndParseEntity (createIndexRequest , Request ::createIndex , CreateIndexResponse ::fromXContent ,
93
- listener , Collections . emptySet (), headers );
95
+ listener , emptySet (), headers );
94
96
}
95
97
96
98
/**
@@ -101,7 +103,7 @@ public void createAsync(CreateIndexRequest createIndexRequest, ActionListener<Cr
101
103
*/
102
104
public PutMappingResponse putMapping (PutMappingRequest putMappingRequest , Header ... headers ) throws IOException {
103
105
return restHighLevelClient .performRequestAndParseEntity (putMappingRequest , Request ::putMapping , PutMappingResponse ::fromXContent ,
104
- Collections . emptySet (), headers );
106
+ emptySet (), headers );
105
107
}
106
108
107
109
/**
@@ -113,7 +115,7 @@ public PutMappingResponse putMapping(PutMappingRequest putMappingRequest, Header
113
115
public void putMappingAsync (PutMappingRequest putMappingRequest , ActionListener <PutMappingResponse > listener ,
114
116
Header ... headers ) {
115
117
restHighLevelClient .performRequestAsyncAndParseEntity (putMappingRequest , Request ::putMapping , PutMappingResponse ::fromXContent ,
116
- listener , Collections . emptySet (), headers );
118
+ listener , emptySet (), headers );
117
119
}
118
120
119
121
/**
@@ -125,7 +127,7 @@ public void putMappingAsync(PutMappingRequest putMappingRequest, ActionListener<
125
127
*/
126
128
public IndicesAliasesResponse updateAliases (IndicesAliasesRequest indicesAliasesRequest , Header ... headers ) throws IOException {
127
129
return restHighLevelClient .performRequestAndParseEntity (indicesAliasesRequest , Request ::updateAliases ,
128
- IndicesAliasesResponse ::fromXContent , Collections . emptySet (), headers );
130
+ IndicesAliasesResponse ::fromXContent , emptySet (), headers );
129
131
}
130
132
131
133
/**
@@ -138,7 +140,7 @@ public IndicesAliasesResponse updateAliases(IndicesAliasesRequest indicesAliases
138
140
public void updateAliasesAsync (IndicesAliasesRequest indicesAliasesRequestRequest , ActionListener <IndicesAliasesResponse > listener ,
139
141
Header ... headers ) {
140
142
restHighLevelClient .performRequestAsyncAndParseEntity (indicesAliasesRequestRequest , Request ::updateAliases ,
141
- IndicesAliasesResponse ::fromXContent , listener , Collections . emptySet (), headers );
143
+ IndicesAliasesResponse ::fromXContent , listener , emptySet (), headers );
142
144
}
143
145
144
146
/**
@@ -149,7 +151,7 @@ public void updateAliasesAsync(IndicesAliasesRequest indicesAliasesRequestReques
149
151
*/
150
152
public OpenIndexResponse open (OpenIndexRequest openIndexRequest , Header ... headers ) throws IOException {
151
153
return restHighLevelClient .performRequestAndParseEntity (openIndexRequest , Request ::openIndex , OpenIndexResponse ::fromXContent ,
152
- Collections . emptySet (), headers );
154
+ emptySet (), headers );
153
155
}
154
156
155
157
/**
@@ -160,7 +162,7 @@ public OpenIndexResponse open(OpenIndexRequest openIndexRequest, Header... heade
160
162
*/
161
163
public void openAsync (OpenIndexRequest openIndexRequest , ActionListener <OpenIndexResponse > listener , Header ... headers ) {
162
164
restHighLevelClient .performRequestAsyncAndParseEntity (openIndexRequest , Request ::openIndex , OpenIndexResponse ::fromXContent ,
163
- listener , Collections . emptySet (), headers );
165
+ listener , emptySet (), headers );
164
166
}
165
167
166
168
/**
@@ -171,7 +173,7 @@ public void openAsync(OpenIndexRequest openIndexRequest, ActionListener<OpenInde
171
173
*/
172
174
public CloseIndexResponse close (CloseIndexRequest closeIndexRequest , Header ... headers ) throws IOException {
173
175
return restHighLevelClient .performRequestAndParseEntity (closeIndexRequest , Request ::closeIndex , CloseIndexResponse ::fromXContent ,
174
- Collections . emptySet (), headers );
176
+ emptySet (), headers );
175
177
}
176
178
177
179
/**
@@ -182,6 +184,28 @@ public CloseIndexResponse close(CloseIndexRequest closeIndexRequest, Header... h
182
184
*/
183
185
public void closeAsync (CloseIndexRequest closeIndexRequest , ActionListener <CloseIndexResponse > listener , Header ... headers ) {
184
186
restHighLevelClient .performRequestAsyncAndParseEntity (closeIndexRequest , Request ::closeIndex , CloseIndexResponse ::fromXContent ,
185
- listener , Collections .emptySet (), headers );
187
+ listener , emptySet (), headers );
188
+ }
189
+
190
+ /**
191
+ * Checks if one or more aliases exist using the Aliases Exist API
192
+ * <p>
193
+ * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html">
194
+ * Indices Aliases API on elastic.co</a>
195
+ */
196
+ public boolean existsAlias (GetAliasesRequest getAliasesRequest , Header ... headers ) throws IOException {
197
+ return restHighLevelClient .performRequest (getAliasesRequest , Request ::existsAlias , RestHighLevelClient ::convertExistsResponse ,
198
+ emptySet (), headers );
199
+ }
200
+
201
+ /**
202
+ * Asynchronously checks if one or more aliases exist using the Aliases Exist API
203
+ * <p>
204
+ * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html">
205
+ * Indices Aliases API on elastic.co</a>
206
+ */
207
+ public void existsAliasAsync (GetAliasesRequest getAliasesRequest , ActionListener <Boolean > listener , Header ... headers ) {
208
+ restHighLevelClient .performRequestAsync (getAliasesRequest , Request ::existsAlias , RestHighLevelClient ::convertExistsResponse ,
209
+ listener , emptySet (), headers );
186
210
}
187
211
}
0 commit comments