Skip to content

Commit ab383a1

Browse files
authored
Revert "Lucene 9 upgrade (#4867)"
This reverts commit b7a2325.
1 parent b7a2325 commit ab383a1

File tree

4 files changed

+14
-40
lines changed

4 files changed

+14
-40
lines changed

opengrok-indexer/src/main/java/org/opengrok/indexer/search/SearchEngine.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
import org.apache.lucene.search.IndexSearcher;
4949
import org.apache.lucene.search.Query;
5050
import org.apache.lucene.search.ScoreDoc;
51-
import org.apache.lucene.search.TopScoreDocCollectorManager;
51+
import org.apache.lucene.search.TopScoreDocCollector;
5252
import org.apache.lucene.util.Version;
5353
import org.opengrok.indexer.analysis.AbstractAnalyzer;
5454
import org.opengrok.indexer.analysis.CompatibleAnalyser;
@@ -132,7 +132,7 @@ public class SearchEngine {
132132
int cachePages = RuntimeEnvironment.getInstance().getCachePages();
133133
int totalHits = 0;
134134
private ScoreDoc[] hits;
135-
private TopScoreDocCollectorManager collectorManager;
135+
private TopScoreDocCollector collector;
136136
private IndexSearcher searcher;
137137
boolean allCollected;
138138
private final ArrayList<SuperIndexSearcher> searcherList = new ArrayList<>();
@@ -205,20 +205,18 @@ private void searchMultiDatabase(List<Project> projectList, boolean paging) thro
205205
}
206206

207207
private void searchIndex(IndexSearcher searcher, boolean paging) throws IOException {
208-
collectorManager = new TopScoreDocCollectorManager(hitsPerPage * cachePages, Short.MAX_VALUE);
208+
collector = TopScoreDocCollector.create(hitsPerPage * cachePages, Short.MAX_VALUE);
209209
Statistics stat = new Statistics();
210-
hits = searcher.search(query, collectorManager).scoreDocs;
211-
totalHits = searcher.count(query);
210+
searcher.search(query, collector);
211+
totalHits = collector.getTotalHits();
212212
stat.report(LOGGER, Level.FINEST, "search via SearchEngine done",
213213
"search.latency", new String[]{"category", "engine",
214214
"outcome", totalHits > 0 ? "success" : "empty"});
215-
if (!paging && totalHits > hitsPerPage * cachePages) {
216-
collectorManager = new TopScoreDocCollectorManager(totalHits, Short.MAX_VALUE);
217-
hits = searcher.search(query, collectorManager).scoreDocs;
218-
stat.report(LOGGER, Level.FINEST, "FULL search via SearchEngine done",
219-
"search.latency", new String[]{"category", "engine",
220-
"outcome", totalHits > 0 ? "success" : "empty"});
215+
if (!paging && totalHits > 0) {
216+
collector = TopScoreDocCollector.create(totalHits, Short.MAX_VALUE);
217+
searcher.search(query, collector);
221218
}
219+
hits = collector.topDocs().scoreDocs;
222220
StoredFields storedFields = searcher.storedFields();
223221
for (ScoreDoc hit : hits) {
224222
int docId = hit.doc;
@@ -414,13 +412,14 @@ public void results(int start, int end, List<Hit> ret) {
414412
// TODO check if below fits for if end=old hits.length, or it should include it
415413
if (end > hits.length && !allCollected) {
416414
//do the requery, we want more than 5 pages
417-
collectorManager = new TopScoreDocCollectorManager(totalHits, Short.MAX_VALUE);
415+
collector = TopScoreDocCollector.create(totalHits, Short.MAX_VALUE);
418416
try {
419-
hits = searcher.search(query, collectorManager).scoreDocs;
417+
searcher.search(query, collector);
420418
} catch (Exception e) { // this exception should never be hit, since search() will hit this before
421419
LOGGER.log(
422420
Level.WARNING, SEARCH_EXCEPTION_MSG, e);
423421
}
422+
hits = collector.topDocs().scoreDocs;
424423
StoredFields storedFields = null;
425424
try {
426425
storedFields = searcher.storedFields();

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Portions Copyright (c) 2018, 2020, Chris Fraire <cfraire@me.com>.
6060
</scm>
6161

6262
<properties>
63-
<lucene.version>9.12.3</lucene.version>
63+
<lucene.version>9.9.2</lucene.version>
6464
<mavenjavadocplugin.version>3.6.0</mavenjavadocplugin.version>
6565
<java.version>17</java.version>
6666
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

suggester/src/main/java/org/opengrok/suggest/SuggestResultCollector.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.apache.lucene.index.StoredFields;
2828
import org.apache.lucene.search.CollectionTerminatedException;
2929
import org.apache.lucene.search.Collector;
30-
import org.apache.lucene.search.CollectorManager;
3130
import org.apache.lucene.search.IndexSearcher;
3231
import org.apache.lucene.search.LeafCollector;
3332
import org.apache.lucene.search.Scorable;
@@ -36,7 +35,6 @@
3635
import org.opengrok.suggest.query.data.BitIntsHolder;
3736

3837
import java.io.IOException;
39-
import java.util.Collection;
4038

4139
/**
4240
* Collects Suggester query results.
@@ -64,29 +62,6 @@ public LeafCollector getLeafCollector(LeafReaderContext context) throws IOExcept
6462
return new SuggesterLeafCollector(context);
6563
}
6664

67-
/**
68-
* Creates a {@link CollectorManager} that can concurrently collect matching docs in a {@link
69-
* BitIntsHolder}.
70-
*/
71-
public static CollectorManager<SuggestResultCollector, BitIntsHolder> createManager(LeafReaderContext leafReaderContext, ComplexQueryData data,
72-
BitIntsHolder documentIds) {
73-
return new CollectorManager<>() {
74-
@Override
75-
public SuggestResultCollector newCollector() {
76-
BitIntsHolder docIds = new BitIntsHolder();
77-
return new SuggestResultCollector(leafReaderContext, data, docIds);
78-
}
79-
80-
@Override
81-
public BitIntsHolder reduce(Collection<SuggestResultCollector> collectors) {
82-
for (SuggestResultCollector collector : collectors) {
83-
documentIds.or(collector.documentIds);
84-
}
85-
return documentIds;
86-
}
87-
};
88-
}
89-
9065
/**
9166
* Indicates what features are required from the scorer.
9267
*/

suggester/src/main/java/org/opengrok/suggest/SuggesterSearcher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ private ComplexQueryData getComplexQueryData(final Query query, final LeafReader
238238

239239
BitIntsHolder documentIds = new BitIntsHolder();
240240
try {
241-
search(query, SuggestResultCollector.createManager(leafReaderContext, data, documentIds));
241+
search(query, new SuggestResultCollector(leafReaderContext, data, documentIds));
242242
} catch (IOException e) {
243243
if (Thread.currentThread().isInterrupted()) {
244244
interrupted = true;

0 commit comments

Comments
 (0)