Achei legal sua abordagem. Muito criativo, eu só não entendi uma coisa.
No json com os pesos de cada propriedade de busca, por que você simplesmente não coloca os valores negativos ali? Realmente tem a necessidade de marcar se o "sentimento" é positivo ou não? Caso essa informação fosse relevante não dava pra fazer uma comparação?
const isPostiveFeeling = parameter.weight > 0
Imagino que isso resolva seu caso.