elasticlunr-rs
A partial port of elasticlunr.js to Rust for generating static document search indexes
3.1.0
7.7M downloads/mo
#3583 most downloaded on crates.io
mattico/elasticlunr-rs
What this package is like to depend on
Last release 28 days ago
26 Jul 2026
Release timing varies
gaps range from 9 days to 2.0 years
Rarely documented
notes for 4 of 30 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
33 releases · first in 2017
1 release in the last 12 months
see the full history below
Release timeline
33 releases · Nov 2017 to Jul 2026Releases
latest 33-
3.1.026 Jul 2026Release notes
Open source →Added
Defaultimplementations for everyLanguagetype, delegating to their existingnew().TokenizerFntype alias for the boxed tokenizer accepted byIndexBuilder::add_field_with_tokenizer.- A
cargo-fuzztarget for the English pipeline (#58)
Changed
- Cleaned up all Clippy warnings.
Fixed
- Fixed tokens from earlier fields leaking into later fields' indices, inflating term and document frequencies (#60)
- Fixed a panic (subtract with overflow) when the English stemmer was given the word "ion" (#57)
- Fixed a panic (subtract with overflow) when the English stemmer was given a word ending in "eing" (#58)
- Fixed a panic when the English stemmer's doubled-consonant rule truncated a word in the middle of a multi-byte character, such as "त" in "aतed" (#63)
- Fixed the terminal "y" to "i" rule disagreeing with elasticlunr.js when the preceding character is itself a "y", so that "leeshyy" now stems to "leeshyi" (#63)
Compatibility
- The token leak fix changes the generated index: terms no longer appear in fields they were not in, and term/document frequencies in every field after the first are lower. Search results and ranking will shift, and any test that snapshots a generated index will need regenerating.
-
3.0.316 Mar 2025 withdrawnRelease notes
Open source →This release was yanked because the rewritten English stemmer could panic on certain inputs. Use 3.0.2 or a later release instead.
Changed
- Rewrote the English stemmer for improved performance (#48)
- Changed the rust-version in Cargo.toml to match the Minimum Supported Rust Version (1.60.0).
- Added support for either Criterion 0.4.0 or 0.5.0
- Updated the Cargo.toml license specification to better match the situation described in the README.
-
3.0.217 Mar 2023Release notes
Open source →Changed
- Updated Minimum Supported Rust Version to 1.60.0.
- Updated Criterion to 0.4.0.
Added
-
3.0.124 Jul 2022 -
3.0.002 Jun 2022Release notes
Open source →Added
- Language support for Arabic (#40).
- Add the
Languagetrait to make it easier to implement languages outside the crate. - Add
IndexBuilder::add_field_with_tokenizerto specify the tokenizer for a field.
Changed
- Update to 2018 edition, and bump MSRV to 1.54.0.
- Change benchmarks to use Criterion.
- Remove dependency on lazy_static.
- Update dependencies.
- Use Unicode character classes for trimmer.
IndexBuilderfunctions which add fields will now panic if the same field is added multiple times.- Fix
IndexBuildernot respecting field insertion order.
Removed
- Remove the
defaultfeature. You now need to opt-in to thelanguagesfeature. - Remove the deprecated function
Pipeline::for_language. - Remove the
pipeline::tokenize*functions, which are now implemented as part of theLanguagetrait. - Remove
Index::add_doc_with_tokenizer(s), replaced byIndexBuilder::add_field_with_tokenizer. - Remove the
Languageenum. Use theLanguagetrait implementations in thelangmodules, and the free functionslang::from_name,lang::from_code, andlang::languages.
-
3.0.0-beta.223 May 2022 pre-releaseNothing published for this version
-
3.0.0-beta.123 May 2022 pre-releaseNothing published for this version
-
2.3.1416 Nov 2021Nothing published for this version
-
2.3.1318 Jun 2021Nothing published for this version
-
2.3.1227 May 2021Nothing published for this version
-
2.3.1123 Mar 2021Nothing published for this version
-
2.3.1023 Feb 2021Nothing published for this version
-
2.3.927 May 2020Nothing published for this version
-
2.3.813 May 2020Nothing published for this version
-
2.3.705 May 2020Nothing published for this version
-
2.3.611 Jul 2019Nothing published for this version
-
2.3.508 Jun 2019Nothing published for this version
-
2.3.408 Nov 2018Nothing published for this version
-
2.3.328 May 2018Nothing published for this version
-
2.3.228 May 2018Nothing published for this version
-
2.3.128 May 2018Nothing published for this version
-
2.3.014 May 2018Nothing published for this version
-
2.2.021 Apr 2018Nothing published for this version
-
2.1.318 Apr 2018Nothing published for this version
-
2.1.223 Mar 2018Nothing published for this version
-
2.1.123 Mar 2018Nothing published for this version
-
2.1.023 Mar 2018Nothing published for this version
-
2.0.019 Mar 2018Nothing published for this version
-
1.0.006 Mar 2018Nothing published for this version
-
0.2.213 Dec 2017Nothing published for this version
-
0.2.121 Nov 2017Nothing published for this version
-
0.2.017 Nov 2017Nothing published for this version
-
0.1.012 Nov 2017Nothing published for this version