Apache Lucene open-source search software
Go to file
Adrien Grand 05ed6ebd3b Combine all postings enum impls of the default codec into a single class (#14033)
Recent speedups by making call sites bimorphic made me want to play with combining all postings enums and impacts enums of the default codec into a single class, in order to reduce polymorphism. Unfortunately, it does not yield a speedup since the major polymorphic call sites we have that hurt performance (DefaultBulkScorer, ConjunctionDISI) are still 3-polymorphic or more.

Yet, reduced polymorphism at little performance impact is a good trade-off as it would help make call sites bimorphic for users who don't have as much query diversity as nightly benchmarks, or in the future when we remove other causes of polymorphism.
2024-12-04 15:20:18 +01:00
.github Replace branch_9x references with branch_10x in workflows (#13855) 2024-10-04 13:52:45 +01:00
build-tools Upgrade to gradle 8.10 (#13700) 2024-08-30 12:36:56 +02:00
dev-docs Replace branch_9x references with branch_10x in workflows (#13855) 2024-10-04 13:52:45 +01:00
dev-tools Align TestGenerateBwcIndices.java with AddBackcompatindices.py (#13911) 2024-10-15 13:40:43 +02:00
gradle Allow easier verification of the Panama Vectorization provider with newer Java versions (#13986) 2024-11-14 09:02:48 +00:00
help Gradle build: cleanup of dependency resolution and consolidation of dependency versions (#13484) 2024-06-17 09:49:21 +02:00
lucene Combine all postings enum impls of the default codec into a single class (#14033) 2024-12-04 15:20:18 +01:00
.asf.yaml .asf.yaml 2022-08-16 20:02:47 +09:00
.dir-locals.el LUCENE-9322: Add Lucene90 codec, including VectorFormat 2020-10-18 07:49:36 -04:00
.git-blame-ignore-revs GITHUB#12655: Add google java format upgrade tidy / regen to blame ignore 2023-10-11 16:15:42 -04:00
.gitattributes Add versions.toml to .gitattributes and normalize line endings to lf. #13484 2024-06-18 14:25:40 +02:00
.gitignore LUCENE-9920: Remove binary gradle-wrapper.jar from the repository 2021-04-10 16:08:39 +02:00
.hgignore LUCENE-2792: add FST impl 2010-12-12 15:36:08 +00:00
.lift.toml Disable liftbot, we have our own tools 2022-05-05 22:27:57 +02:00
CONTRIBUTING.md equivocate about IntelliJ test runner 2024-06-10 08:40:38 -04:00
LICENSE.txt LUCENE-10163 Move LICENSE and NOTICE file to top level (#388) 2021-10-18 01:24:11 +02:00
NOTICE.txt Update year in copyright 2024-10-14 18:00:25 +02:00
README.md Make Gradle dashboard easy to find by adding a badge (#13476) 2024-07-01 09:09:51 +01:00
build.gradle Add next minor version 10.1.0 2024-09-30 11:33:16 +01:00
gradlew Gradle build: cleanup of dependency resolution and consolidation of dependency versions (#13484) 2024-06-17 09:49:21 +02:00
gradlew.bat Gradle build: cleanup of dependency resolution and consolidation of dependency versions (#13484) 2024-06-17 09:49:21 +02:00
settings.gradle Gradle build: cleanup of dependency resolution and consolidation of dependency versions (#13484) 2024-06-17 09:49:21 +02:00
versions.lock Gradle build: cleanup of dependency resolution and consolidation of dependency versions (#13484) 2024-06-17 09:49:21 +02:00
versions.toml Upgrade forbiddenapis to version 3.8 2024-10-07 12:26:17 +02:00

README.md

Apache Lucene

Lucene Logo

Apache Lucene is a high-performance, full-featured text search engine library written in Java.

Build Status Revved up by Develocity

Online Documentation

This README file only contains basic setup instructions. For more comprehensive documentation, visit:

Building

Basic steps:

  1. Install OpenJDK 21.
  2. Clone Lucene's git repository (or download the source distribution).
  3. Run gradle launcher script (gradlew).

We'll assume that you know how to get and set up the JDK - if you don't, then we suggest starting at https://jdk.java.net/ and learning more about Java, before returning to this README.

Contributing

Bug fixes, improvements and new features are always welcome! Please review the Contributing to Lucene Guide for information on contributing.

  • Additional Developer Documentation: dev-docs/

Discussion and Support