Проверка логического состояния с использованием лексера Lucene и объекта JSON в Node.js - PullRequest
0 голосов
/ 12 июня 2019

Я разрабатываю механизм маршрутизации событий на основе правил в Node.js.Как я могу использовать условие запроса Lucene (например, name:leaveRequested), чтобы оценить, удовлетворяет ли условие объекту JSON, представляющему событие?

Я нашел несколько пакетов npm (например, json-rules-engine , node-rules , lucene-query-parser или lucene ), которые делают вещи, удаленно связанные с тем, чего я пытаюсь достичь, но не обеспечивающиедвигатель оценки.

Я предполагаю, что это работает так:

Условие типа запроса Lucene определяется следующим образом:

const condition = 'name:leaveRequested';

Движок получает события JSON и оценивает, если данныйОбъект JSON соответствует условию.

Примеры событий

const eventA = { name: 'leaveRequested' };
const eventB = { name: 'passwordChanged' };

Пример вывода:

Lucene.isMatch(condition, eventA) // true
Lucene.isMatch(condition, eventB) // false
// Lucene is just a dummy object representing the logic I'm looking for
...