15
15
*/
16
16
package org .springframework .data .elasticsearch .core ;
17
17
18
+ import java .util .List ;
19
+ import java .util .Map ;
20
+ import java .util .stream .Collectors ;
21
+
18
22
import org .elasticsearch .action .update .UpdateResponse ;
19
23
import org .elasticsearch .cluster .metadata .AliasMetaData ;
20
24
import org .elasticsearch .common .Nullable ;
25
+
21
26
import org .springframework .data .domain .Page ;
22
27
import org .springframework .data .elasticsearch .core .convert .ElasticsearchConverter ;
23
28
import org .springframework .data .elasticsearch .core .mapping .ElasticsearchPersistentEntity ;
24
- import org .springframework .data .elasticsearch .core .query .*;
29
+ import org .springframework .data .elasticsearch .core .query .AliasQuery ;
30
+ import org .springframework .data .elasticsearch .core .query .CriteriaQuery ;
31
+ import org .springframework .data .elasticsearch .core .query .DeleteQuery ;
32
+ import org .springframework .data .elasticsearch .core .query .GetQuery ;
33
+ import org .springframework .data .elasticsearch .core .query .IndexQuery ;
34
+ import org .springframework .data .elasticsearch .core .query .MoreLikeThisQuery ;
35
+ import org .springframework .data .elasticsearch .core .query .SearchQuery ;
36
+ import org .springframework .data .elasticsearch .core .query .StringQuery ;
37
+ import org .springframework .data .elasticsearch .core .query .UpdateQuery ;
25
38
import org .springframework .data .util .CloseableIterator ;
26
39
27
- import java .util .LinkedList ;
28
- import java .util .List ;
29
- import java .util .Map ;
30
- import java .util .stream .Collectors ;
31
-
32
40
/**
33
41
* ElasticsearchOperations
34
42
*
42
50
public interface ElasticsearchOperations {
43
51
44
52
/**
45
- * @return Converter in use
53
+ * adding new alias
54
+ *
55
+ * @param query
56
+ * @return
46
57
*/
47
- ElasticsearchConverter getElasticsearchConverter ();
58
+ boolean addAlias (AliasQuery query );
59
+
60
+ /**
61
+ * removing previously created alias
62
+ *
63
+ * @param query
64
+ * @return
65
+ */
66
+ boolean removeAlias (AliasQuery query );
48
67
49
68
/**
50
69
* Create an index for a class
@@ -102,7 +121,6 @@ public interface ElasticsearchOperations {
102
121
*/
103
122
<T > boolean putMapping (Class <T > clazz , Object mappings );
104
123
105
-
106
124
/**
107
125
* Get mapping for a class
108
126
*
@@ -133,6 +151,15 @@ public interface ElasticsearchOperations {
133
151
*/
134
152
<T > Map <String , Object > getSetting (Class <T > clazz );
135
153
154
+ /**
155
+ * get all the alias pointing to specified index
156
+ *
157
+ * @param indexName
158
+ * @return
159
+ */
160
+ List <AliasMetaData > queryForAlias (String indexName );
161
+
162
+ <T > T query (SearchQuery query , ResultsExtractor <T > resultsExtractor );
136
163
137
164
/**
138
165
* Execute the query against elasticsearch and return the first returned object
@@ -199,7 +226,8 @@ public interface ElasticsearchOperations {
199
226
<T > List <Page <T >> queryForPage (List <SearchQuery > queries , Class <T > clazz );
200
227
201
228
/**
202
- * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} using custom mapper
229
+ * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} using custom
230
+ * mapper
203
231
*
204
232
* @param queries
205
233
* @param clazz
@@ -217,7 +245,8 @@ public interface ElasticsearchOperations {
217
245
List <Page <?>> queryForPage (List <SearchQuery > queries , List <Class <?>> classes );
218
246
219
247
/**
220
- * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} using custom mapper
248
+ * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} using custom
249
+ * mapper
221
250
*
222
251
* @param queries
223
252
* @param classes
@@ -255,7 +284,8 @@ public interface ElasticsearchOperations {
255
284
/**
256
285
* Executes the given {@link CriteriaQuery} against elasticsearch and return result as {@link CloseableIterator}.
257
286
* <p>
258
- * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of error.
287
+ * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of
288
+ * error.
259
289
*
260
290
* @param <T> element return type
261
291
* @param query
@@ -268,7 +298,8 @@ public interface ElasticsearchOperations {
268
298
/**
269
299
* Executes the given {@link SearchQuery} against elasticsearch and return result as {@link CloseableIterator}.
270
300
* <p>
271
- * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of error.
301
+ * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of
302
+ * error.
272
303
*
273
304
* @param <T> element return type
274
305
* @param query
@@ -279,9 +310,11 @@ public interface ElasticsearchOperations {
279
310
<T > CloseableIterator <T > stream (SearchQuery query , Class <T > clazz );
280
311
281
312
/**
282
- * Executes the given {@link SearchQuery} against elasticsearch and return result as {@link CloseableIterator} using custom mapper.
313
+ * Executes the given {@link SearchQuery} against elasticsearch and return result as {@link CloseableIterator} using
314
+ * custom mapper.
283
315
* <p>
284
- * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of error.
316
+ * Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of
317
+ * error.
285
318
*
286
319
* @param <T> element return type
287
320
* @param query
@@ -394,7 +427,7 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
394
427
* @param clazz
395
428
* @return
396
429
*/
397
- <T > LinkedList <T > multiGet (SearchQuery searchQuery , Class <T > clazz );
430
+ <T > List <T > multiGet (SearchQuery searchQuery , Class <T > clazz );
398
431
399
432
/**
400
433
* Execute a multiGet against elasticsearch for the given ids with MultiGetResultMapper
@@ -404,7 +437,7 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
404
437
* @param multiGetResultMapper
405
438
* @return
406
439
*/
407
- <T > LinkedList <T > multiGet (SearchQuery searchQuery , Class <T > clazz , MultiGetResultMapper multiGetResultMapper );
440
+ <T > List <T > multiGet (SearchQuery searchQuery , Class <T > clazz , MultiGetResultMapper multiGetResultMapper );
408
441
409
442
/**
410
443
* Index an object. Will do save or update
@@ -446,14 +479,14 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
446
479
*/
447
480
String delete (String indexName , String type , String id );
448
481
449
-
450
482
/**
451
483
* Delete all records matching the criteria
452
484
*
453
485
* @param clazz
454
486
* @param criteriaQuery
455
487
*/
456
488
<T > void delete (CriteriaQuery criteriaQuery , Class <T > clazz );
489
+
457
490
/**
458
491
* Delete the one object with provided id
459
492
*
@@ -525,15 +558,13 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
525
558
* refresh the index
526
559
*
527
560
* @param indexName
528
- *
529
561
*/
530
562
void refresh (String indexName );
531
563
532
564
/**
533
565
* refresh the index
534
566
*
535
567
* @param clazz
536
- *
537
568
*/
538
569
<T > void refresh (Class <T > clazz );
539
570
@@ -542,7 +573,7 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
542
573
*
543
574
* @param query The search query.
544
575
* @param scrollTimeInMillis The time in millisecond for scroll feature
545
- * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
576
+ * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
546
577
* @param clazz The class of entity to retrieve.
547
578
* @return The scan id for input query.
548
579
*/
@@ -553,18 +584,19 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
553
584
*
554
585
* @param query The search query.
555
586
* @param scrollTimeInMillis The time in millisecond for scroll feature
556
- * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
587
+ * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
557
588
* @param mapper Custom impl to map result to entities
558
589
* @return The scan id for input query.
559
590
*/
560
- <T > ScrolledPage <T > startScroll (long scrollTimeInMillis , SearchQuery query , Class <T > clazz , SearchResultMapper mapper );
591
+ <T > ScrolledPage <T > startScroll (long scrollTimeInMillis , SearchQuery query , Class <T > clazz ,
592
+ SearchResultMapper mapper );
561
593
562
594
/**
563
595
* Returns scrolled page for given query
564
596
*
565
597
* @param criteriaQuery The search query.
566
598
* @param scrollTimeInMillis The time in millisecond for scroll feature
567
- * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
599
+ * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
568
600
* @param clazz The class of entity to retrieve.
569
601
* @return The scan id for input query.
570
602
*/
@@ -575,20 +607,22 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
575
607
*
576
608
* @param criteriaQuery The search query.
577
609
* @param scrollTimeInMillis The time in millisecond for scroll feature
578
- * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
610
+ * {@link org.elasticsearch.action.search.SearchRequestBuilder#setScroll(org.elasticsearch.common.unit.TimeValue)}.
579
611
* @param mapper Custom impl to map result to entities
580
612
* @return The scan id for input query.
581
613
*/
582
- <T > ScrolledPage <T > startScroll (long scrollTimeInMillis , CriteriaQuery criteriaQuery , Class <T > clazz , SearchResultMapper mapper );
583
-
614
+ <T > ScrolledPage <T > startScroll (long scrollTimeInMillis , CriteriaQuery criteriaQuery , Class <T > clazz ,
615
+ SearchResultMapper mapper );
584
616
585
617
<T > ScrolledPage <T > continueScroll (@ Nullable String scrollId , long scrollTimeInMillis , Class <T > clazz );
586
- <T > ScrolledPage <T > continueScroll (@ Nullable String scrollId , long scrollTimeInMillis , Class <T > clazz , SearchResultMapper mapper );
618
+
619
+ <T > ScrolledPage <T > continueScroll (@ Nullable String scrollId , long scrollTimeInMillis , Class <T > clazz ,
620
+ SearchResultMapper mapper );
621
+
587
622
/**
588
623
* Clears the search contexts associated with specified scroll ids.
589
624
*
590
625
* @param scrollId
591
- *
592
626
*/
593
627
<T > void clearScroll (String scrollId );
594
628
@@ -602,33 +636,10 @@ default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> cla
602
636
*/
603
637
<T > Page <T > moreLikeThis (MoreLikeThisQuery query , Class <T > clazz );
604
638
605
- /**
606
- * adding new alias
607
- *
608
- * @param query
609
- * @return
610
- */
611
- Boolean addAlias (AliasQuery query );
612
-
613
- /**
614
- * removing previously created alias
615
- *
616
- * @param query
617
- * @return
618
- */
619
- Boolean removeAlias (AliasQuery query );
639
+ ElasticsearchPersistentEntity getPersistentEntityFor (Class clazz );
620
640
621
641
/**
622
- * get all the alias pointing to specified index
623
- *
624
- * @param indexName
625
- * @return
642
+ * @return Converter in use
626
643
*/
627
- List <AliasMetaData > queryForAlias (String indexName );
628
-
629
-
630
- <T > T query (SearchQuery query , ResultsExtractor <T > resultsExtractor );
631
-
632
-
633
- ElasticsearchPersistentEntity getPersistentEntityFor (Class clazz );
644
+ ElasticsearchConverter getElasticsearchConverter ();
634
645
}
0 commit comments