37544 Commits

Author SHA1 Message Date
Dawid Weiss
d7dc57dd0d
jgit/ clean status check should ignore any 'untracked folders' (#13728)
* Ignore any 'untracked folders' #13719
* Upgrade jgit to 6.10.0.202406032230-r.
2024-09-06 09:01:15 +02:00
Luca Cavanna
5f242b3b26
Dry up TestScorerPerf (#13712)
Some of the test methods were commented out when this test class was added. They got later removed
but the removal left unused method behind. I also adjusted visibility of all the internal methods
that were public and should have been private, which led me to further clean up: `MatchingHitCollector`
was not needed and can be removed.
2024-09-05 20:05:46 +02:00
Adrien Grand
4c27bccac5
Early exit from Operations#removeDeadStates when an automaton doesn't have dead states. (#13721) 2024-09-05 16:50:31 +02:00
Adrien Grand
a414a96eee Operations#sameLanguage moved to AutomatonTestUtil. 2024-09-05 16:03:29 +02:00
Chris Hegarty
67c0f8e847
Determinize automata used by IntervalsSource.regex (#13718)
This commit determinizes internal automata used in the construction of the IntervalsSource created by the regexp factory.
2024-09-05 14:15:24 +01:00
Adrien Grand
11d7566229
Make Operations#repeat create simpler automata. (#13714)
`Operations#repeat` currently creates an automaton that has one more final
state, and 2x more transitions for each of the final states. With this change,
the returned automaton has a single final state and only 2x more transitions
for state 0.
2024-09-05 15:08:26 +02:00
Uwe Schindler
e8440956b9 Remove useless Serializable interface 2024-09-05 14:55:12 +02:00
Uwe Schindler
9d7b07738a Merge branch 'main' of https://gitbox.apache.org/repos/asf/lucene 2024-09-05 14:37:16 +02:00
Uwe Schindler
67ca244ef1 Clean up forbiddenapis: No need to serialize and deserialize the package private class 2024-09-05 14:37:04 +02:00
Robert Muir
ea3a9b8927
Relax Operations.isTotal() to work with a deterministic automaton (#13707)
Improve Operations.isTotal() to work with non-minimal automata.
2024-09-05 08:36:10 -04:00
Robert Muir
87bc8270ff
move Operations.sameLanguage/subsetOf to AutomatonTestUtil in test-framework (#13708)
This code is suitable for tests only and may throw unexpected Exceptions or AssertionErrors for some input.
2024-09-05 06:59:55 -04:00
Luca Cavanna
b91b4136af
Reduce size of queue in TestBoolean2#testRandomQueries (#13713)
The queue is created as 1000 * mulFactor, but the test succeeds without the 1000 factor.
That causes out of memories as the mulFactor can be as high as 4096 in some cases, and then
each slice will get a collector with a queue of size 1000 * mulFactor. Only the allocation of
such queue makes the test go OOM.

Closes #11754
2024-09-04 16:06:19 +02:00
Egor Potemkin
c21bc5405b
Remove CollectorOwner class (#13702) 2024-09-03 17:34:50 -07:00
Luca Cavanna
10420c6c47 Added missing migrate entry for #13602 2024-09-03 09:49:18 +02:00
Ignacio Vera
68cc8734ca
Fix integer overflow in GeoEncodingUtils#Grid implementations (#13704)
* Fix integer overflow in GeoEncodingUtils#Grid implementations

* Add entry in CHANGES.txt
2024-09-02 12:13:53 +02:00
Dawid Weiss
ce4f56e74a Add jdk 23-ea to nightly smoke tester run. #13700 2024-08-30 18:19:47 +02:00
Christoph Büscher
6d373dbb4e
Remove IOException from MultiTermQuery#getTermsCount (#13701)
Neither this method nor any of the two overrides can throw an IOException.
This change removes the throws clauses from this method in order simplify
not have to handle them on the callers side.
2024-08-30 14:00:32 +01:00
Dawid Weiss
ea1441c81c
Upgrade to gradle 8.10 (#13700) 2024-08-30 12:36:56 +02:00
Luca Cavanna
9172cc4247
Udpate ReadTask to not rely on search(Query, Collector) (#13602)
This commit modifies ReadTask to no longer call the deprecated search(Query, Collector).
Instead, it creates a collector manager and calls search(Query, CollectorManager).

The existing protected createCollector method is removed in favour of createCollectorManager that returns
now a CollectorManager in place of a Collector.

SearchWithCollectorTask works the same way if "topScoreDoc" is provided as config. Loading of a custom collector
will no longer work, and needs to be replaced with loading a collector manager by class name instead.
2024-08-29 10:53:53 +02:00
Uwe Schindler
e45b5ebdf8
Fix Gradle build sometimes gives spurious "unreferenced license file" warnings (#13696)
Revert changes by #12150 in jar-checks.gradle, because tasks in this file share internal state between tasks without using files. Because of this all tasks here must always execute together, so they cannot define task outputs.
2024-08-28 20:35:26 +02:00
Adrien Grand
79fd9fee97
Speed up advancing within a block. (#13692)
Advancing within a block consists of finding the first index within an array of
128 values whose value is greater than or equal a target. Given the small size,
it's not obvious whether it's better to perform a linear search, a binary
search or something else... It is surprisingly hard to beat the linear search
that we are using today.

Experiments suggested that the following approach works in practice:
 - First check if the next item in the array is greater than or equal to the
   target.
 - Then find the first 4-values interval that contains our target.
 - Then perform a branchless binary search within this interval of 4 values.

This approach still biases heavily towards the case when the target is very
close to the current index, only a bit less than a linear search.
2024-08-28 17:31:08 +02:00
Michael McCandless
d55b92bae0
adding a few toString methods for HNSW scoring classes (#13694) 2024-08-28 10:15:40 -04:00
Stefan Vodita
385f56ba22
Remove mention of SolrNamedThreadFactory (#13690) 2024-08-28 11:07:56 +01:00
Owais Kazi
0f5359a2ac
Fixed exponent value in explain of SigmoidFunction (#13691)
* Fixed exponent in explain of SigmoidFunction

Signed-off-by: Owais <owaiskazi19@gmail.com>

* Updated CHANGES.txt

Signed-off-by: Owais <owaiskazi19@gmail.com>

---------

Signed-off-by: Owais <owaiskazi19@gmail.com>
2024-08-27 16:12:58 -04:00
pierwill
054295fd38
Edit HNSW API docs (#13688)
* Edit HNSW API docs for clarity, readability, punctuation, etc.

Co-authored-by: pierwill <pierwill@users.noreply.github.com>
2024-08-26 14:17:59 -04:00
Greg Miller
3e3a7db1db move GH#13672 entry under 10.0 2024-08-26 10:32:01 -07:00
Greg Miller
6d19a35de3 fixup CHANGES entry for GH#13592 2024-08-26 10:30:15 -07:00
Greg Miller
68882c8b89
Leverage doc value skip lists in DocValuesRewriteMethod if indexed (#13672) 2024-08-26 10:04:12 -07:00
Mike Pellegrini
4e3945ed54
Use Max WAND optimizations with ToParentBlockJoinQuery when using ScoreMode.Max (#13587) 2024-08-26 14:43:48 +02:00
ChrisHegarty
e850cd1c86 reconcile changes txt 2024-08-23 15:04:41 +01:00
Chris Hegarty
ad81402791
Support JDK 23 in Panama Vectorization Provider (#13678)
This commit updates the Vectorization Provider to support JDK 23. The API has not changed so the changes minimally bump the major JDK check, and enable the incubating API during testing
2024-08-22 13:51:32 +01:00
Ignacio Vera
579427228d
Take advantage of the doc value skipper when it is primary sort (#13592)
Take advantage of the doc value skipper when it is primary sort in SortedNumericDocValuesRangeQuery
 and SortedSetDocValuesRangeQuery.
2024-08-22 12:28:25 +02:00
Armin Braun
b4a06770c9
Release memory for cancelled tasks earlier in TaskExecutor (#13609)
We can save some memory in failure scenarios here (and a tiny bit in
every case) by moving our started flag to the `FutureTask` and using the
callable outright. First of all, we save the wrapper callable, but that
also allows us to just `set(null)` on cancellation instead of waiting
for the task to run to set the `null`.
In case we have longer running tasks executing and it would take a while
to get to the cancelled tasks, this saves some memory and allows us to
return from the method earlier.
2024-08-21 21:25:09 +02:00
Michael Sokolov
c52ddd83bf
import definition of default parameter values from o.a.l.util.HnswGraphBuilder (#13674) 2024-08-21 14:06:45 -04:00
Adrien Grand
2971ce1b7f
Display frame types when analyzing top frames. (#13670)
This helps understand if a given frame is interpreted, compiled or inlined for instance.
2024-08-20 23:36:51 +02:00
Ignacio Vera
4404aa3fe9
Convert BKDConfig to a record (#13668) 2024-08-20 11:44:28 +02:00
mrhbj
0533effe48
Modernize switch statements in ArrayUtil (#13669) 2024-08-19 14:23:35 -07:00
Benjamin Trent
1c9bd6bdb4
Only attempt to connect components when entry point is valid (#13660)
* Only attempt to connect components when entry point is valid

* iter
2024-08-19 08:36:52 -04:00
Adrien Grand
299d7f6721
Speed up prefix sums when decoding doc IDs. (#13658)
This updates file formats to compute prefix sums by summing up 8 deltas per
long at the same time if the number of bits per value is 4 or less, and 4
deltas per long at the same time if the number of bits per value is between 5
included and 11 included. Otherwise, we keep summing up 2 deltas per long like
today.

The `PostingDecodingUtil` was slightly modified due to the fact that more
numbers of bits per value now need to apply different shifts to the input data.
E.g. now that we store integers that require 5 bits per value as 16-bit
integers under the hood rather than 8, we extract the first values by shifting
by 16-5=11, 16-2*5=6 and 16-3*5=1 and then decode tail values from the
remaining bit per 16-bit integer.
2024-08-16 21:27:32 +02:00
mrhbj
29eda04e23
Simplify FSTCompiler loop (#13663) 2024-08-16 10:40:55 -07:00
Dawid Weiss
f99deb58b7
Upgrade spotless to 6.9.1, google java format to 1.23.0. (#13661) 2024-08-16 09:28:44 +02:00
Dawid Weiss
af22fe922d Revert "Update checksums after tidy/ regenerate."
This reverts commit f96caeeb92b1fb27a6ea15c62279aba95b6b12fc.
2024-08-15 22:30:57 +02:00
Dawid Weiss
f96caeeb92 Update checksums after tidy/ regenerate. 2024-08-15 22:29:23 +02:00
Dawid Weiss
8b25c4dd0b Fix icu's regeneration script: instead of getVersion we can just pick the version from the catalog. 2024-08-15 22:28:49 +02:00
panguixin
7cd2eb20cf
Compare the missing value with the top value even after the hit queue is full (#13644) 2024-08-14 15:33:56 -07:00
Dawid Weiss
1cfa697c06
Fix eclipse ide settings generation (#13649)
* Only run the ide configuration block for eclipse when explicitly invoked. fix property access ordering here and there.

* Correct dependsOn task name.

* Correct crlf/encoding after versionCatalogFormatDeps finishes.

* Change java-library to java-base in the plugin applied within the eclipse task.

* use ant.fixcrlf to correct line endings.

* Changes entry.

* Simplify fixcrlf

---------

Co-authored-by: Uwe Schindler <uschindler@apache.org>
2024-08-14 23:50:06 +02:00
Greg Miller
97e30fa487
Revert changes to IndexSearcher brought in by GH#13568 (#13656)
Note that this results in some silly code duplication so this is meant to be a more temporary fix while we better understand the root cause of the regression.
2024-08-14 10:08:08 -07:00
Michael Sokolov
2b0c6cdcbc
Call HnswGraphBuilder.getCompletedGraph() in 94/95 back-compat writers (#13654) 2024-08-14 08:55:21 -04:00
Adrien Grand
a40bb39195
Optimize decoding blocks of postings using the vector API. (#13636)
Our postings use a layout that helps take advantage of Java's
auto-vectorization to be reasonably fast to decode. But we can make it a bit
faster by vectorizing directly from the MemorySegment instead of first
copying data into a long[].

This approach only works when the `Directory` uses `MemorySegmentIndexInput`
under the hood, ie. `MMapDirectory` on JDK 21+.

Co-authored-by: Uwe Schindler <uschindler@apache.org>
2024-08-13 21:49:10 +02:00
Greg Miller
beea877775 Move CHANGES entry for GH#13568 2024-08-12 07:30:36 -07:00