A bit like Solr, but much smaller and not as bright.
This Python version of Lunr.js aims to bring the simple and powerful full text search capabilities into Python guaranteeing results as close as the original implementation as possible.
What does this even do?
Lunr is a simple full text search solution for situations where deploying a full scale solution like Elasticsearch isn't possible, viable or you're simply prototyping.
Lunr parses a set of documents and creates an inverted index for quick full text searches.
Lunr.py provides a backend solution, allowing you to parse the documents ahead of time and create a Lunr.js compatible index you can pass have the browser version read, minimizing start up time of your application.
Of course you could also use Lunr.py to power full text search in desktop applications or backend services to search on your documents mimicking Elasticsearch.
pip install lunr for the english only, best compatibility with Lunr.js version.
An optional and experimental support for other languages via the Natural Language Toolkit stemmers is also available via
pip install lunr[languages].
Supported languages are arabic, danish, dutch, english, finnish, french, german, hungarian, italian, norwegian, portuguese, romanian, russian, spanish and swedish.
Note the compatibility with Lunr.js is not guaranteed at the moment when using this experimental feature.
Lunr.py also serializes
Index instances respecting the
lunr-schema which are consumable by Lunr.js and viceversa.
The API is in alpha stage and likely to change.