- Fix misleading usage of
__main__.py
without runnable code to be ran onpython -m lunr
- Move to pyproject.toml packaging
- Drop support for Python 3.6
- Add support for Python 3.11
- Remove logging configuration @ping
- Add
Pipeline.skip
method to skip pipeline functions on specific fields @tristanlatr
- 0.6.2 will be the last release to support Python 3.6.
- Add support for Python 3.10.
- Remove pin to NLTK < 3.5.
- Add index customisation, enabling build and search pipeline tweaks as well as meta-data whitelisting.
- Compatibility with Lunr.js 2.3.9:
- Fix bug where clause matches are incorrectly initialized to a complete set.
- Add support for Python 3.9
- Drop support for Python 3.5
- Fix installing ntlk in 2.7 without
languages
extra. - Optimize regexes and avoid usage by default.
- 0.5.8 will be the last release to support Python 2.7.
- Prevent installing an unsupported version of NLTK in Python 2.7.
- Support for Python 3.8
- Compatibility with Lunr.js 2.3.8:
- Fix bug where leading white space would cause token position metadata to be reported incorrectly.
- Compatibility with Lunr.js 2.3.6:
- Fix bug with fuzzy matching that meant deletions at the end of a word would not match.
- Compatibility with Lunr.js 2.3.5:
- Fix bug on fuzzy matching ignoring matches on insertions at the end of the word.
- Performance improvements on indexing
- Compatibility with Lunr.js 2.3.3:
- Fixes catastrophic backtracking on leading wildcards
- Fix Python 2.7 support
- Added multilanguage support
- Improved language support
- The
language
argument to thelunr
has been renamed tolanguages
to accomodate for multilanguage support. Thelanguages
argument accepts a string or an iterable of ISO-639-1 languages codes. If you're callinglunr
with keyword arguments please update such calls accordingly.
- Target Lunr.js v2.3.2
- Target Lunr.js v2.3.1
- Fix crash when using non-string document references.
- Added support for Python 3.7
- Compatibility with Lunr.js v2.3.0. Including:
- Add support for build time field and document boosts.
- Add support for indexing nested document fields using field extractors.
- Prevent usage of problematic characters in field names
- Compatibility with Lunr.js v2.2.1. Including:
- Add support for queries with term presence, e.g. required terms and prohibited terms.
- Add support for using the output of
lunr.Tokenizer
directly withlunr.Query.term
. - Add field name metadata to tokens in build and search pipelines.
- Compatibility with Lunr.js v2.1.6
- Fix bug on whitelisting metadata in Builder.
- Refactor of multilanguage support.
- Experimental support for languages via NLTK, currently supported languages are arabic, danish, dutch, english, finnish, french, german, hungarian, italian, norwegian, portuguese, romanian, russian, spanish and swedish. Note compatibility with Lunr.js and lunr-languages is reduced.
- Add serialization tests passing serialized index from Python to JS and producing same results.
- Added
Index.create_query
returning a preinitializedQuery
with the index's fields or a subset of them. Index.search
does not accept a callback function, instead expects aQuery
object the user should preconfigure first.- Various docstring and repr changes.
- Initial release