lucene-filter.js

Data filter for lucene queries
git clone git://git.finwo.net/lib/lucene-filter.js
Log | Files | Refs | README | LICENSE

regexp.js (449B)


      1 const field = require('../field');
      2 
      3 module.exports = {
      4   detect : function (query) {
      5     if (!query) return false;
      6     if ('object' !== typeof query) return false;
      7     return !!query.regexpr || !!query.regex;
      8   },
      9   compile: function (query) {
     10     const regex = new RegExp(query.term);
     11     return function (data) {
     12       return field(query.field, data, function (value) {
     13         return regex.test(value);
     14       }) ? query.boost : 0;
     15     };
     16   },
     17 };