This repository contains a lucene-kmp library project, a Kotlin Multiplatform port of apache lucene that is deployable to Maven Central.
- jvm
- android
- iOS (iosX64, iosArm64, iosSimulatorArm64)
currently the port is based on following commit of lucene main branch which is some commits before lucene 10.2.0 release
commit ec75fcad5a4208c7b9e35e870229d9b703cda8f3 (HEAD -> main, origin/main, origin/HEAD)
Author: Robert Muir <[email protected]>
Date: Sun Mar 2 14:11:10 2025 -0500
reformat the python code with 'make reformat' and enable format in CI check
currently the python code has a mix of indentation, styles, imports
ordering, etc. for example, it is very difficult to work with mixed
indentation levels: the language is sensitive to indentation.
reformat all the code with 'make reformat' and enable format checks when
linting. It works like spotless, just don't think about it.
- org.apache.lucene.index.IndexWriter
- org.apache.lucene.index.IndexWriterConfig
- org.apache.lucene.store.FSDirectory
- org.apache.lucene.analysis.Analyzer
- org.apache.lucene.document.Document
- org.apache.lucene.document.Field
- org.apache.lucene.document.IntPoint
- org.apache.lucene.document.StoredField
- org.apache.lucene.document.TextField
- org.apache.lucene.index.DirectoryReader
- org.apache.lucene.index.StandardDirectoryReader
- org.apache.lucene.queryparser.classic.QueryParser
- org.apache.lucene.search.IndexSearcher
- org.apache.lucene.store.FSLockFactory
- org.apache.lucene.store.NIOFSDirectory
- org.apache.lucene.document.IntPoint
- org.apache.lucene.search.Query
- org.apache.lucene.search.BooleanQuery
- org.apache.lucene.search.BooleanClause
- org.apache.lucene.search.Sort
- org.apache.lucene.search.SortField
PROGRESS.md for overview of the progress including unit test classes. The file is automatically generated by progress.main.kts script which also outputs progress report to the console.
PROGRESS2.md for more detailed progress report. The file is automatically generated by progressv2.main.kts script which also outputs progress report to the console.
TODO.md and TODO_TEST.md is generated by AI based on progress docs to tell what to port next.
After completing those TODOs, we need to catch up with lucene main branch automatically using AI agent such as GitHub Copilot, open ai codex, google jules, and/or jetbrains junie one commit by commit up to 10.2.0 and later versions of Lucene.