lucene-filter.js

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

commit 75d567148370f109112f0835b38a6a0d9498fe85
parent 6c8444d614f93be135905ad25f5b78eecf92e98d
Author: laggingreflex <laggingreflex@gmail.com>
Date:   Sun, 19 Apr 2020 01:34:57 +0530

[WIP] feat: arrays

Diffstat:
Msrc/filters/string/contains.js | 11++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/filters/string/contains.js b/src/filters/string/contains.js @@ -9,9 +9,14 @@ module.exports = { }, compile: function (query) { return function (data) { - return field(query.field, data, function (value) { - if ('string' !== typeof value) return false; - return ~value.toLowerCase().indexOf(query.term.toLowerCase()); + return field(query.field, data, function check (value) { + if ('string' === typeof value) + return ~value.toLowerCase().indexOf(query.term.toLowerCase()); + else if (Array.isArray(value)) { + for(const v of value) + if (check(v)) return true; + return false; + } else return false; }) ? query.boost : 0; }; },