Currently "new FilterPath" is called from everywhere, making it impossible for a mockfilesystem to use a custom subclass.
Add FilterFileSystemProvider.wrapPath(path), which subclasses can override. Fix tests to use it instead of juggling URI objects and passing FileSystems around.
QueryOffsetRange is a public class and is used in other classes
(e.g. FieldValueHighlighters needs it).
Make it constructor public as well to be used in other packages
Fixes some edge cases where GeoArea were built in a way that
vertical planes could not evaluate their sign, either because the planes
were the same or the center between those planes was lying on top of one
of the planes.
* Grammar: Remove incidents of "the the" in comments.
* fixes formatting, as per helpful comment from Mike
* Running ./gradlew :lucene:misc:spotlessApply again made more changes.
* It keeps finding new things ... what's up with this?
* Fixing more nits that gradlew finds. Sorry, folks. I am new at this.
This PR adds a preparation step to look at builds@lucene.apache.org and address
recurring failures. This helps make sure we catch and fix known bugs before
spinning the release candidate. It also prevents flaky tests from failing
during the release vote (which adds confusion).
This commit replaces more usages of search(Query, Collector) with calling the corresponding search(Query, CollectorManager) instead. This round focuses on tests that implement custom collector, that need a corresponding collector manager.
StringValueFacetCounts should use the segment ordinal instead of the current index when looping through the matching hits, as when search is multi-threaded the order of the matching hits (one per segment) is not deterministic.
This commit replaces some usages of TopFieldCollector in tests with a corresponding collector manager created through TopFieldCollector#createSharedManager
This commit adds a new createManager static method to RandomSamplingFacetsCollector that allows users to perform random sampling concurrently. The returned collector manager is very similar to the existing FacetsCollectorManager but it exposes a specialized reduced RandomSamplingFacetsCollector.
This relates to [LUCENE-10002](https://issues.apache.org/jira/browse/LUCENE-10002). It allows users to use a collector manager instead of a collector when doing random sampling, in the effort of reducing usages of IndexSearcher#search(Query, Collector).
In the effort of decreasing usages of IndexSearcher#search(query, Collector) by using the corresponding method that accepts a collector manager, this commit replaces many usages of FacetsCollector with its corresponding existing collector manager.
IndexSortSortedNumericDocValuesRangeQuery unconditionally assumes the usage of
the LONG-encoded SortField. Using the numeric range query (in case of sorted
index) with anything but LONG ends up with class cast exception. Now the query
consults the numeric type of the `SortField` and perform appropriate checks.
This commit introduces a no-op implementation of HitsThresholdChecker that does no counting, to be used when early termination is disabled. This is automatically used when creating a TopFieldCollector or a TopScoreDocCollector. In that same scenario MaxScoreAccumulator can be null and scores are no longer accumulated when creating a shared collector manager.
With this, it is safe to replace the custom collector managers in DrillSideways with the ones returned by calling createSharedManager.