Skip to content

Update to apache lucene 10.X#9205

Open
matthiasblaesing wants to merge 13 commits intoapache:masterfrom
matthiasblaesing:update-lucene2
Open

Update to apache lucene 10.X#9205
matthiasblaesing wants to merge 13 commits intoapache:masterfrom
matthiasblaesing:update-lucene2

Conversation

@matthiasblaesing
Copy link
Contributor

  • Additional package lucene-analysis-common required (KeywordAnalyzer, WhitespaceAnalyzer, PerFieldAnalyzerWrapper, CharTokenizer, LimitTokenCountAnalyzer)
  • FieldTypes were introduced to carry the field behavior (tokenization state, indexing options, storage settings)
  • BooleanQuery construction moved to builder
  • Collector interface was modified
  • TermEnum was replaced by TermsEnum
  • Terms are stored per field, so queries have to be specified with the target field
  • QuerySelectors were replaced by String sets
  • RAMDirecory was removed and is replaced by ByteBufferDirectories
  • Lock handling was reworked

@matthiasblaesing matthiasblaesing added this to the NB30 milestone Feb 13, 2026
@matthiasblaesing matthiasblaesing added PHP [ci] enable extra PHP tests (php/php.editor) CSL [ci] enable web job Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels Feb 13, 2026
@mbien mbien added Upgrade Library Library (Dependency) Upgrade ci:all-tests [ci] enable all tests labels Feb 13, 2026
- Additional package lucene-analysis-common required
  (KeywordAnalyzer, WhitespaceAnalyzer, PerFieldAnalyzerWrapper, CharTokenizer,
  LimitTokenCountAnalyzer)
- FieldTypes were introduced to carry the field behavior (tokenization
  state, indexing options, storage settings)
- BooleanQuery construction moved to builder
- Collector interface was modified
- TermEnum was replaced by TermsEnum
- Terms are stored per field, so queries have to be specified with the
  target field
- QuerySelectors were replaced by String sets
- RAMDirecory was removed and is replaced by ByteBufferDirectories
- Lock handling was reworked
@mbien
Copy link
Member

mbien commented Feb 14, 2026

The repo is likely not ready yet for a core JDK 21 dependency like lucene 10.x (#7871). Lucene 9.x uses JDK 11 as baseline which would avoid a bunch of problems as intermediate step (+ we already use it elsewhere too).

Both @lkishalmi and me tried to stabilize on lucene 4 first, I haven't touched my wip branch in a while but I believe Laszlo is experimenting right now with lucene 4 too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:all-tests [ci] enable all tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) CSL [ci] enable web job Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) PHP [ci] enable extra PHP tests (php/php.editor) Upgrade Library Library (Dependency) Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants