in src/elasticSearchService.ts [522:588]
private static buildSingleElasticSearchFilterPart(
key: string,
value: string,
operator: '==' | '!=' | '>' | '<' | '>=' | '<=',
): any {
switch (operator) {
case '==': {
return {
match: {
[key]: value,
},
};
}
case '!=': {
return {
bool: {
must_not: [
{
term: {
[key]: value,
},
},
],
},
};
}
case '>': {
return {
range: {
[key]: {
gt: value,
},
},
};
}
case '<': {
return {
range: {
[key]: {
lt: value,
},
},
};
}
case '>=': {
return {
range: {
[key]: {
gte: value,
},
},
};
}
case '<=': {
return {
range: {
[key]: {
lte: value,
},
},
};
}
default: {
throw new Error('Unknown comparison operator');
}
}
}