Commit Graph

35597 Commits

Author SHA1 Message Date
Dawid Weiss e0745c7b24 LUCENE-10255: re-add utilities for debugging packages and services. These are not included by default to avoid unnecessary compilation overhead. 2021-12-16 17:59:54 +01:00
Dawid Weiss 5b3b75efd8 LUCENE-10308: Make ecj and javadoc run with modular paths 2021-12-16 17:51:01 +01:00
Dawid Weiss 9224bde83c Add assertj. 2021-12-16 16:49:20 +01:00
Dawid Weiss 9917092bf8 LUCENE-10313: merge log4j-less Luke. 2021-12-16 15:47:52 +01:00
Tomoko Uchida e7b4700c5a
LUCENE-10313: minor clean-ups and follow-ups (#546) 2021-12-16 15:38:32 +01:00
Jan Høydahl 05cb0fd0c1 Add back-compat indices for 8.11.1 2021-12-16 15:09:28 +01:00
Jan Høydahl 8c48475c4d Add java version mapping for lucene 10 2021-12-16 13:07:03 +01:00
Jan Høydahl 2b07bcef2e Add bugfix version 8.11.1 2021-12-16 12:11:26 +01:00
Tomoko Uchida 8e8a94a2b7 LUCENE-10303: remove unnecessary changes entry 2021-12-16 19:39:20 +09:00
Dawid Weiss 36638dcb1e
LUCENE-10313: drop log4j from luke (#544) 2021-12-16 11:18:34 +01:00
Jan Høydahl 3687c71f28
Add 8.11.1 2021-12-16 10:43:44 +01:00
Quentin Pradet 9974f6ac34
LUCENE-10085: Fix flaky testQueryMatchesCount (#538)
Five times every 10 000 tests, we did not index any documents with i
between 0 and 10 (inclusive), which caused the deleted tests to fail.

With this commit, we make sure that we always index at least one
document between 0 and 10.
2021-12-14 10:49:58 +01:00
Ignacio Vera 5207aae527
LUCENE-10310: Fix test error in TestXYDocValuesQueries#testRandomDistanceHuge (#537)
We create random circles using ShapeTestUtils which is safe.
2021-12-13 12:01:20 +01:00
Tomoko Uchida 2f634b0d95
LUCENE-10309: Minimum KnnVector codec support in Luke (#535) 2021-12-12 15:31:18 +09:00
Tomoko Uchida e111182e12 LUCENE-10303: Upgrade log4j to 2.15.0 2021-12-11 10:43:03 +09:00
Tomoko Uchida cb788d8e9e LUCENE-10305: Ensure line endings of versions.props is LF 2021-12-11 10:10:44 +09:00
Dawid Weiss 1bcdc600b3 LUCENE-10304: exclude module-info.java from all sourcesets for Eclipse, otherwise things break (predictably). 2021-12-10 19:56:55 +01:00
Dawid Weiss 003fa44357 LUCENE-10307: correct module descriptor so that exported packages test passes. 2021-12-10 19:15:54 +01:00
Dawid Weiss 51d93635aa LUCENE-10307: add exported packages consistency check. 2021-12-10 17:53:16 +01:00
Dawid Weiss 8511def95b LUCENE-10307: add distribution sanity tests. 2021-12-10 17:25:47 +01:00
Dawid Weiss 458c0486c0 LUCENE-10304: a workaround for intellij's problem with runtime scopes on dependencies. 2021-12-10 17:16:19 +01:00
Dawid Weiss aee191d878 LUCENE-10300: rewrite how resources are read in ukrainian morfologik analyzer (module vs. classpath lookup). 2021-12-10 17:16:19 +01:00
Dawid Weiss 768adb99d6 LUCENE-10300: add morfologik.tests and check if the ukrainian analyzer loads properly. 2021-12-10 17:16:19 +01:00
Dawid Weiss 600d8345f8 LUCENE-10306: set up module configurations to consume full JARs for test projects. 2021-12-10 17:16:19 +01:00
Dawid Weiss 328b3cc55f LUCENE-10255: add support for .tests subprojects which contain module tests. 2021-12-10 17:16:19 +01:00
Dawid Weiss 6d83c2e08e LUCENE-10255: add gradle compilation and module descriptor support for the java module system. Adds module descriptors to all Lucene subprojects. 2021-12-10 17:16:19 +01:00
Dawid Weiss b9c22fdb49 LUCENE-9871: minor cleanups of extra semicolons and solr build remnants. 2021-12-10 10:29:35 +01:00
Dawid Weiss b2b52ca92a LUCENE-10229: change the wording a bit. 2021-12-09 17:34:54 +01:00
Patrick Zhai 53099e01de
LUCENE-10229: Unify behaviour of match offsets for interval queries (#521) 2021-12-09 17:19:18 +01:00
Ignacio Vera 40c213d873
Revert "LUCENE-10289: Change DocIdSetBuilder#grow() from taking an int to a long (#520)" (#532)
This reverts commit af1e68b891.
2021-12-09 13:54:40 +01:00
Dawid Weiss 8367f700c7 LUCENE-10294: Avoid compiling javadocs twice in 'gradlew check'. 2021-12-09 09:56:11 +01:00
Robert Muir 7a872c7a5c
LUCENE-10296: Stop minimizing regepx (#528)
In current trunk, we let caller (e.g. RegExpQuery) try to "reduce" the expression. The parser nor the low-level executors don't implicitly call exponential-time algorithms anymore.

But now that we have cleaned this up, we can see it is even worse than just calling determinize(). We still call minimize() which is much crazier and much more.

We stopped doing this for all other AutomatonQuery subclasses a long time ago, as we determined that it didn't help performance. Additionally, minimization vs. determinization is even less important than early days where we found trouble: the representation got a lot better. Today when you finishState we do a lot of practical sorting/coalescing on-the-fly. Also we added this fancy UTF32-to-UTF8 automata convertor, that makes the worst-case-space-per-state significantly lower than it was before? So why minimize() ?

Let's just replace minimize() calls with determinize() calls? I've already swapped them out for all of src/test, to get jenkins looking for issues ahead of time.

This change moves hopcroft minimization (MinimizeOperations) to src/test for now. I'd like to explore nuking it from there as a next step, any tests that truly need minimization should be fine with brzozowski's
algorithm.
2021-12-08 21:44:26 -05:00
Julie Tibshirani 5d39bca87a
LUCENE-10040: Add test for vector search with skewed deletions (#527)
This exercises a challenging case where the documents to skip all happen to
be closest to the query vector. In many cases, HNSW appears to be robust to this
case and maintains good recall.
2021-12-08 11:24:12 -08:00
Adrien Grand b9287c8ce0 Fix precommit. 2021-12-08 18:51:35 +01:00
Adrien Grand f190cc3509 Re-enable tests. 2021-12-08 17:52:17 +01:00
Adrien Grand ecc38495ab Add back-compat indices for 9.0.0. 2021-12-08 17:43:06 +01:00
Robert Muir 84e4b85b09
LUCENE-10010: don't determinize/minimize in RegExp (#513)
Previously, RegExp called minimize() at every parsing step. There is little point to making an NFA execution when it is doing this: minimize() implies exponential determinize().
 
Moreover, some minimize() calls are missing, and in fact in rare cases RegExp can already return an NFA today (for certain syntax)

Instead, RegExp parsing should do none of this, instead it may return a DFA or NFA. NOTE: many simple regexps happen to be still returned as DFA, just because of the algorithms in use.

Callers can decide whether to determinize or minimize. RegExp parsing should not run in exponential time.

All src/java callsites were modified to call minimize(), to prevent any performance problems. minimize() seems unnecessary, but let's approach removing minimization as a separate PR. src/test was fixed to just use determinize() in preparation for this.

Add new unit test for RegExp parsing

New test tries to test each symbol/node independently, to make it easier to maintain this code.
The new test case now exceeds 90% coverage of the regexp parser.
2021-12-07 21:39:13 -05:00
Robert Muir 5a1fdd8865
remove unnecessary "dependencies" in versions.props (#526)
Looks like stray cats from back when it was shared with solr
2021-12-07 21:22:54 -05:00
Adrien Grand 68e94c9597 DOAP changes for release 9.0.0 2021-12-07 14:38:41 +01:00
Ignacio Vera af1e68b891
LUCENE-10289: Change DocIdSetBuilder#grow() from taking an int to a long (#520) 2021-12-07 07:41:09 +01:00
Tomoko Uchida 35eff443a7
LUCENE-10287: Re-add abstract FSDirectory class as a supported directory (#522) 2021-12-07 15:32:12 +09:00
gf2121 8525356c8a
LUCENE-10280: Store BKD blocks with continuous ids more efficiently (#510) 2021-12-07 07:26:03 +01:00
Robert Muir 4fda0766da
speed up TestSimpleExplanationsWithFillerDocs (#516)
This is the slowest test suite, runs for ~ 60s, because between every
document it adds 2048 "filler docs". This just adds up to a ton of
indexing across all the test methods.

Use 2048 for Nightly, and instead a smaller number (4) for local builds.
2021-12-06 22:12:36 -05:00
Robert Muir 5c746db53e
simplify jflex grammars by using difference rather than negation (#515)
Jflex grammars now avoid using complement operator twice as a demorgan-workaround for "macros in char classes". With the latest version of jflex, we can just do the subtraction directly and avoid unnecessary NFA->DFA conversions. This speeds up `generateUAX29URLEmailTokenizer` around 3x.
2021-12-06 21:59:13 -05:00
Uwe Schindler ec57641ea5 LUCENE-10287: Add changes entry 2021-12-06 20:27:59 +01:00
Uwe Schindler 9cb16df215
LUCENE-10287: Fix startup script of module enabled Luke to pass jdk.unsupported as module (#517) 2021-12-06 20:23:48 +01:00
gf2121 459388cfe1
LUCENE-10233: fix Unit Test TestFixedBitSet#testAndNot (#512)
Co-authored-by: guofeng.my <guofeng.my@bytedance.com>
2021-12-06 07:33:32 +01:00
Robert Muir adaf610671
tone down TestIndexWriter.testMaxCompletedSequenceNumber in non-nightly (#506)
this test currently indexes up to 600 docs for each thread.
2021-12-04 14:21:45 -05:00
Robert Muir 2c750bbedf
tone down BaseTermVectorsFormatTestCase.testLotsOfFields in non-nightly (#505)
This test runs across every IndexOptions, indexing hundreds of fields.
It is slow for some implementations (e.g. SimpleText).

Use less fields for normal runs.
2021-12-04 14:21:28 -05:00
Robert Muir b9934a3dcf
Make TestNRTReplication.testCrashReplica nightly (#504)
This test is forking and crashing JVMs, always runs over 10 seconds
2021-12-04 14:21:07 -05:00