Data filter for lucene queries
Easily rate, order or filter objects by lucene queries.
npm install --save lucene-filter
For a better overview of what's possible, take a look at lucene-query-parser.
// Either of these is supportedconst lucene = ;const lucene = ;const lucene = ;
// If requirejs is detected, registers as an anonymous module// Else, it'll attach to window.lucene
lucene-filter transforms a lucene query into a function which returns whether an object matches the query, using the
'boost' set by the query. Returning the data when matching is also possible using
const lucene = ;let result;const data =name: 'C-3PO' description: 'Protocol droid.' species: 'Droid'name: 'R2-D2' description: 'Astromech droid built on Naboo.' species: 'Droid'name: 'Anakin Skywalker' description: 'Fallen Jedi, the chosen one.' species: 'Human'name: 'Obi-Wan Kenobi' description: 'Jedi Master.' species: 'Human'name: 'Moon Moon' description: 'Mentally challenged wolf.' species: 'Wolf';// Prints an array with both R2-D2 and C-3POconsole;// Prints an array with only R2-D2console;// Prints an array with both jediconsole;// Prints an array with only the outcastconsole;// Prints Obi-Wanconsole;
I wanted something simple to use & not build a completely new query language without standards or documentation. This module uses either lucene or lucene-query-parser to parse the given query into something easy-to-process & turns it into a simple-to-use function.