Scoring individual documents

I understand that Elasticsearch is a great database to search amongst documents and to score them amongst eachother, thus being able to return to most relevant document for the search.

But I want to use Elasticsearch in another sense. I want to see if only one document is relevant.
I want to do a search/scoring routine for multiple words where some words give a higher score and some a lower score. If the total score is over a certain threshold I consider the document "matched".

I am going to use this for is that if a new document is added, I will later analyze if the text contains the word "cat". But a cat with "cute cat" will give bonus points, since "cute" is a positive scoring. If it has the word "ugly cat" I will in reverse give that document a worse score.

Is this feasible with Elasticsearch? How would I do this?

As a bonus question: Later I want to check documents with AI/Machine Learning where an entire document will be rated high/low depending on another input parameter where I can correlate a certain input paramater as "positive", and later when an document is added that looks like that previously positive document, I get a match.