Lucene Query Parser for JavaScript created using PEG.js
npm install lucene-query-parserjavascript
var parser = require('lucene-query-parser');
// return the expression tree
var results = parser.parse('title:"The Right Way" AND text:go');
console.log(results['left']['field']); // title
console.log(results['left']['term']); // The Right Way
console.log(results['operator']); // AND
console.log(results['right']['field']); // text
console.log(results['right']['term']); // go
`
A slightly more complicated example:
`javascript
var parser = require('lucene-query-parser');
// return the expression tree
var results = parser.parse('test AND (foo OR bar)');
console.log(results['left']['term']); // test
console.log(results['operator']); // AND
// the grouped expression in parentheses becomes it's own nested node
var rightNode = results['right'];
console.log(rightNode['left']['term']); // foo
console.log(rightNode['operator']); // OR
console.log(rightNode['right']['term']); // bar
`
For more detailed docs, check out the wiki.
Installation
$3
The library is available as an npm module.
To install, run:
`
npm install lucene-query-parser
`
$3
In the browser, use RequireJS to load the AMD compatible module. In the example below, it assumes there's a ~/vendor directory for third-party libraries, with RequireJS in ~/vendor/requirejs/require.js and our library in ~/vendor/lucene-query-parser/lucene-query-parser.js.
`html
`
Unit Tests
Unit tests are built with Jasmine.
$3
To run the unit tests on the command line, using node:
`
npm test
``