|
24 | 24 | import java.util.concurrent.TimeUnit; |
25 | 25 | import java.util.stream.Stream; |
26 | 26 | import org.apache.lucene.document.Document; |
| 27 | +import org.apache.lucene.document.Field; |
27 | 28 | import org.apache.lucene.document.SortedNumericDocValuesField; |
| 29 | +import org.apache.lucene.document.StringField; |
28 | 30 | import org.apache.lucene.index.DirectoryReader; |
29 | 31 | import org.apache.lucene.index.IndexWriter; |
30 | 32 | import org.apache.lucene.index.IndexWriterConfig; |
| 33 | +import org.apache.lucene.index.Term; |
31 | 34 | import org.apache.lucene.search.BooleanClause.Occur; |
32 | 35 | import org.apache.lucene.search.BooleanQuery; |
33 | 36 | import org.apache.lucene.search.IndexSearcher; |
34 | | -import org.apache.lucene.search.MatchAllDocsQuery; |
35 | 37 | import org.apache.lucene.search.Query; |
| 38 | +import org.apache.lucene.search.TermQuery; |
36 | 39 | import org.apache.lucene.store.Directory; |
37 | 40 | import org.apache.lucene.store.MMapDirectory; |
38 | 41 | import org.openjdk.jmh.annotations.Benchmark; |
|
61 | 64 | public class SortedNumericGcdRangeIntoBitSetBenchmark { |
62 | 65 |
|
63 | 66 | private static final String FIELD = "val"; |
| 67 | + private static final String LEAD_FIELD = "lead"; |
| 68 | + private static final String LEAD_VALUE = "yes"; |
64 | 69 | private static final long DOMAIN = 10_000_000L; |
65 | 70 | private static final long DELTA = 1_700_000_000_000L; |
66 | 71 |
|
@@ -95,6 +100,7 @@ public void setup() throws Exception { |
95 | 100 | for (int c = 0; c < cardinality; c++) { |
96 | 101 | doc.add(SortedNumericDocValuesField.indexedField(FIELD, base + c * step())); |
97 | 102 | } |
| 103 | + doc.add(new StringField(LEAD_FIELD, LEAD_VALUE, Field.Store.NO)); |
98 | 104 | writer.addDocument(doc); |
99 | 105 | } |
100 | 106 | writer.forceMerge(1); |
@@ -132,7 +138,7 @@ private Query rangeQuery() { |
132 | 138 | long actualMax = actualValue(max); |
133 | 139 | Query rangeQuery = SortedNumericDocValuesField.newSlowRangeQuery(FIELD, actualMin, actualMax); |
134 | 140 | return new BooleanQuery.Builder() |
135 | | - .add(new MatchAllDocsQuery(), Occur.FILTER) |
| 141 | + .add(new TermQuery(new Term(LEAD_FIELD, LEAD_VALUE)), Occur.FILTER) |
136 | 142 | .add(rangeQuery, Occur.FILTER) |
137 | 143 | .build(); |
138 | 144 | } |
|
0 commit comments