8
8
package org .elasticsearch .search .aggregations .bucket .terms ;
9
9
10
10
import org .apache .lucene .document .Document ;
11
+ import org .apache .lucene .document .Field ;
11
12
import org .apache .lucene .document .SortedSetDocValuesField ;
12
13
import org .apache .lucene .index .DirectoryReader ;
13
14
import org .apache .lucene .index .IndexReader ;
@@ -87,11 +88,15 @@ public void testMatchAllDocs() throws IOException {
87
88
private void testSearchCase (Query query , List <String > dataset ,
88
89
Consumer <TermsAggregationBuilder > configure ,
89
90
Consumer <InternalMappedTerms > verify , ValueType valueType ) throws IOException {
91
+ MappedFieldType keywordFieldType = new KeywordFieldMapper .KeywordFieldType (KEYWORD_FIELD , randomBoolean (), true , null );
90
92
try (Directory directory = newDirectory ()) {
91
93
try (RandomIndexWriter indexWriter = new RandomIndexWriter (random (), directory )) {
92
94
Document document = new Document ();
93
95
for (String value : dataset ) {
94
96
document .add (new SortedSetDocValuesField (KEYWORD_FIELD , new BytesRef (value )));
97
+ if (keywordFieldType .isSearchable ()) {
98
+ document .add (new Field (KEYWORD_FIELD , new BytesRef (value ), KeywordFieldMapper .Defaults .FIELD_TYPE ));
99
+ }
95
100
indexWriter .addDocument (document );
96
101
document .clear ();
97
102
}
@@ -108,7 +113,6 @@ private void testSearchCase(Query query, List<String> dataset,
108
113
configure .accept (aggregationBuilder );
109
114
}
110
115
111
- MappedFieldType keywordFieldType = new KeywordFieldMapper .KeywordFieldType (KEYWORD_FIELD );
112
116
113
117
InternalMappedTerms rareTerms = searchAndReduce (indexSearcher , query , aggregationBuilder , keywordFieldType );
114
118
verify .accept (rareTerms );
0 commit comments