lucene-filter.js

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

commit b89edd20000e99d6f80941d901bf7c08dd4bbb2b
parent 93ba01f9247338dd2e10f5b0149cbd6b39eaa9f9
Author: finwo <finwo@pm.me>
Date:   Wed, 18 May 2022 12:30:24 +0200

Merge pull request #54 from laggingreflex/feat/arrays

Feature: 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; }; },