11
11
import org .apache .lucene .document .Document ;
12
12
import org .apache .lucene .document .NumericDocValuesField ;
13
13
import org .apache .lucene .document .SortedSetDocValuesField ;
14
+ import org .apache .lucene .index .DirectoryReader ;
14
15
import org .apache .lucene .index .IndexReader ;
16
+ import org .apache .lucene .index .IndexWriter ;
17
+ import org .apache .lucene .index .IndexWriterConfig ;
15
18
import org .apache .lucene .search .IndexSearcher ;
16
19
import org .apache .lucene .search .MatchAllDocsQuery ;
17
20
import org .apache .lucene .store .Directory ;
54
57
public class StreamStringTermsAggregatorTests extends AggregatorTestCase {
55
58
public void testBuildAggregationsBatchDirectBucketCreation () throws Exception {
56
59
try (Directory directory = newDirectory ()) {
57
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
60
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
58
61
Document document = new Document ();
59
62
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("apple" )));
60
63
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("banana" )));
@@ -69,7 +72,7 @@ public void testBuildAggregationsBatchDirectBucketCreation() throws Exception {
69
72
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("banana" )));
70
73
indexWriter .addDocument (document );
71
74
72
- try (IndexReader indexReader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
75
+ try (IndexReader indexReader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
73
76
IndexSearcher indexSearcher = newIndexSearcher (indexReader );
74
77
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("field" );
75
78
@@ -151,14 +154,14 @@ public void testBuildAggregationsBatchEmptyResults() throws Exception {
151
154
152
155
public void testBuildAggregationsBatchWithSingleValuedOrds () throws Exception {
153
156
try (Directory directory = newDirectory ()) {
154
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
157
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
155
158
for (int i = 0 ; i < 10 ; i ++) {
156
159
Document document = new Document ();
157
160
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("term_" + (i % 3 ))));
158
161
indexWriter .addDocument (document );
159
162
}
160
163
161
- try (IndexReader indexReader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
164
+ try (IndexReader indexReader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
162
165
IndexSearcher indexSearcher = newIndexSearcher (indexReader );
163
166
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("field" );
164
167
@@ -222,15 +225,15 @@ public void testBuildAggregationsBatchWithSingleValuedOrds() throws Exception {
222
225
223
226
public void testBuildAggregationsBatchWithSize () throws Exception {
224
227
try (Directory directory = newDirectory ()) {
225
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
228
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
226
229
// Create fewer unique terms to test size parameter more meaningfully
227
230
for (int i = 0 ; i < 20 ; i ++) {
228
231
Document document = new Document ();
229
232
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("term_" + (i % 10 ))));
230
233
indexWriter .addDocument (document );
231
234
}
232
235
233
- try (IndexReader indexReader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
236
+ try (IndexReader indexReader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
234
237
IndexSearcher indexSearcher = newIndexSearcher (indexReader );
235
238
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("field" );
236
239
@@ -271,7 +274,7 @@ public void testBuildAggregationsBatchWithSize() throws Exception {
271
274
272
275
public void testBuildAggregationsBatchWithCountOrder () throws Exception {
273
276
try (Directory directory = newDirectory ()) {
274
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
277
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
275
278
for (int i = 0 ; i < 3 ; i ++) {
276
279
Document document = new Document ();
277
280
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("common" )));
@@ -288,7 +291,7 @@ public void testBuildAggregationsBatchWithCountOrder() throws Exception {
288
291
document .add (new SortedSetDocValuesField ("field" , new BytesRef ("rare" )));
289
292
indexWriter .addDocument (document );
290
293
291
- try (IndexReader indexReader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
294
+ try (IndexReader indexReader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
292
295
IndexSearcher indexSearcher = newIndexSearcher (indexReader );
293
296
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("field" );
294
297
@@ -485,7 +488,7 @@ public void testSubAggregationWithMax() throws Exception {
485
488
486
489
public void testSubAggregationWithSum () throws Exception {
487
490
try (Directory directory = newDirectory ()) {
488
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
491
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
489
492
Document document = new Document ();
490
493
document .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
491
494
document .add (new NumericDocValuesField ("sales" , 1000 ));
@@ -501,7 +504,7 @@ public void testSubAggregationWithSum() throws Exception {
501
504
document .add (new NumericDocValuesField ("sales" , 500 ));
502
505
indexWriter .addDocument (document );
503
506
504
- try (IndexReader indexReader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
507
+ try (IndexReader indexReader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
505
508
IndexSearcher indexSearcher = newIndexSearcher (indexReader );
506
509
MappedFieldType categoryFieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
507
510
MappedFieldType salesFieldType = new NumberFieldMapper .NumberFieldType ("sales" , NumberFieldMapper .NumberType .LONG );
@@ -560,7 +563,7 @@ public void testSubAggregationWithAvg() throws Exception {
560
563
document .add (new SortedSetDocValuesField ("product" , new BytesRef ("laptop" )));
561
564
document .add (new NumericDocValuesField ("rating" , 4 ));
562
565
indexWriter .addDocument (document );
563
-
566
+ indexWriter . commit ();
564
567
document = new Document ();
565
568
document .add (new SortedSetDocValuesField ("product" , new BytesRef ("laptop" )));
566
569
document .add (new NumericDocValuesField ("rating" , 5 ));
@@ -630,7 +633,7 @@ public void testSubAggregationWithMinAndCount() throws Exception {
630
633
document .add (new SortedSetDocValuesField ("store" , new BytesRef ("store_a" )));
631
634
document .add (new NumericDocValuesField ("inventory" , 100 ));
632
635
indexWriter .addDocument (document );
633
-
636
+ indexWriter . commit ();
634
637
document = new Document ();
635
638
document .add (new SortedSetDocValuesField ("store" , new BytesRef ("store_a" )));
636
639
document .add (new NumericDocValuesField ("inventory" , 50 ));
@@ -715,7 +718,7 @@ public void testMultipleSubAggregations() throws Exception {
715
718
document .add (new NumericDocValuesField ("temperature" , 25 ));
716
719
document .add (new NumericDocValuesField ("humidity" , 60 ));
717
720
indexWriter .addDocument (document );
718
-
721
+ indexWriter . commit ();
719
722
document = new Document ();
720
723
document .add (new SortedSetDocValuesField ("region" , new BytesRef ("north" )));
721
724
document .add (new NumericDocValuesField ("temperature" , 30 ));
@@ -815,7 +818,7 @@ public void testReduceSimple() throws Exception {
815
818
// Create first aggregation with some data
816
819
List <InternalAggregation > aggs = new ArrayList <>();
817
820
818
- try (RandomIndexWriter indexWriter1 = new RandomIndexWriter ( random (), directory1 )) {
821
+ try (IndexWriter indexWriter1 = new IndexWriter ( directory1 , newIndexWriterConfig () )) {
819
822
Document doc = new Document ();
820
823
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
821
824
indexWriter1 .addDocument (doc );
@@ -824,7 +827,7 @@ public void testReduceSimple() throws Exception {
824
827
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("books" )));
825
828
indexWriter1 .addDocument (doc );
826
829
827
- try (IndexReader reader1 = maybeWrapReaderEs (indexWriter1 . getReader ( ))) {
830
+ try (IndexReader reader1 = maybeWrapReaderEs (DirectoryReader . open ( indexWriter1 ))) {
828
831
IndexSearcher searcher1 = newIndexSearcher (reader1 );
829
832
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
830
833
aggs .add (
@@ -834,7 +837,7 @@ public void testReduceSimple() throws Exception {
834
837
}
835
838
836
839
// Create second aggregation with overlapping data
837
- try (RandomIndexWriter indexWriter2 = new RandomIndexWriter ( random (), directory2 )) {
840
+ try (IndexWriter indexWriter2 = new IndexWriter ( directory2 , newIndexWriterConfig () )) {
838
841
Document doc = new Document ();
839
842
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
840
843
indexWriter2 .addDocument (doc );
@@ -843,7 +846,7 @@ public void testReduceSimple() throws Exception {
843
846
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("clothing" )));
844
847
indexWriter2 .addDocument (doc );
845
848
846
- try (IndexReader reader2 = maybeWrapReaderEs (indexWriter2 . getReader ( ))) {
849
+ try (IndexReader reader2 = maybeWrapReaderEs (DirectoryReader . open ( indexWriter2 ))) {
847
850
IndexSearcher searcher2 = newIndexSearcher (reader2 );
848
851
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
849
852
aggs .add (
@@ -904,7 +907,7 @@ public void testReduceWithSubAggregations() throws Exception {
904
907
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
905
908
doc .add (new NumericDocValuesField ("price" , 100 ));
906
909
indexWriter1 .addDocument (doc );
907
-
910
+ indexWriter1 . commit ();
908
911
doc = new Document ();
909
912
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
910
913
doc .add (new NumericDocValuesField ("price" , 200 ));
@@ -970,14 +973,14 @@ public void testReduceWithSizeLimit() throws Exception {
970
973
List <InternalAggregation > aggs = new ArrayList <>();
971
974
972
975
// First aggregation with multiple terms
973
- try (RandomIndexWriter indexWriter1 = new RandomIndexWriter ( random (), directory1 )) {
976
+ try (IndexWriter indexWriter1 = new IndexWriter ( directory1 , new IndexWriterConfig () )) {
974
977
for (int i = 0 ; i < 5 ; i ++) {
975
978
Document doc = new Document ();
976
979
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("cat_" + i )));
977
980
indexWriter1 .addDocument (doc );
978
981
}
979
982
980
- try (IndexReader reader1 = maybeWrapReaderEs (indexWriter1 . getReader ( ))) {
983
+ try (IndexReader reader1 = maybeWrapReaderEs (DirectoryReader . open ( indexWriter1 ))) {
981
984
IndexSearcher searcher1 = newIndexSearcher (reader1 );
982
985
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
983
986
@@ -988,14 +991,14 @@ public void testReduceWithSizeLimit() throws Exception {
988
991
}
989
992
990
993
// Second aggregation with different terms
991
- try (RandomIndexWriter indexWriter2 = new RandomIndexWriter ( random (), directory2 )) {
994
+ try (IndexWriter indexWriter2 = new IndexWriter ( directory2 , newIndexWriterConfig () )) {
992
995
for (int i = 3 ; i < 8 ; i ++) {
993
996
Document doc = new Document ();
994
997
doc .add (new SortedSetDocValuesField ("category" , new BytesRef ("cat_" + i )));
995
998
indexWriter2 .addDocument (doc );
996
999
}
997
1000
998
- try (IndexReader reader2 = maybeWrapReaderEs (indexWriter2 . getReader ( ))) {
1001
+ try (IndexReader reader2 = maybeWrapReaderEs (DirectoryReader . open ( indexWriter2 ))) {
999
1002
IndexSearcher searcher2 = newIndexSearcher (reader2 );
1000
1003
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
1001
1004
@@ -1034,7 +1037,7 @@ public void testReduceWithSizeLimit() throws Exception {
1034
1037
1035
1038
public void testReduceSingleAggregation () throws Exception {
1036
1039
try (Directory directory = newDirectory ()) {
1037
- try (RandomIndexWriter indexWriter = new RandomIndexWriter ( random (), directory )) {
1040
+ try (IndexWriter indexWriter = new IndexWriter ( directory , newIndexWriterConfig () )) {
1038
1041
// Add multiple documents with different categories to test reduce logic properly
1039
1042
Document doc1 = new Document ();
1040
1043
doc1 .add (new SortedSetDocValuesField ("category" , new BytesRef ("electronics" )));
@@ -1058,7 +1061,7 @@ public void testReduceSingleAggregation() throws Exception {
1058
1061
1059
1062
indexWriter .commit (); // Ensure data is committed before reading
1060
1063
1061
- try (IndexReader reader = maybeWrapReaderEs (indexWriter . getReader ( ))) {
1064
+ try (IndexReader reader = maybeWrapReaderEs (DirectoryReader . open ( indexWriter ))) {
1062
1065
IndexSearcher searcher = newIndexSearcher (reader );
1063
1066
MappedFieldType fieldType = new KeywordFieldMapper .KeywordFieldType ("category" );
1064
1067
0 commit comments