Implement a function that calculates the matching score between an offer and a request and stores its result into a database table consisting of the fields:
| regionID | offerID | requestID | matchingScore |
This function is supposed to work like described here (German!).
This issue probably breaks down into following parts:
Creating a function that:
Accepts an offer and a request
In a goroutine: Calculates the tags similarity
In a goroutine: Calculates the similarity of the two free text description fields utilizing yet to be defined NLP algorithms
In a goroutine: Calculates the distance factor
Calculate final score
Save it to database
Add triggers to call this function every time an offer or a request is created, updated (, removed?) or a matching is created or denied and other locations this score has to be (re)calculated
Alter existing JSON returns to include a matching score per object and sort the return list by descending score
Maybe it might make sense to define this function on a Region struct.
In a goroutine: Calculates the similarity of the two free text description fields utilizing yet to be defined NLP algorithms
In a goroutine: Calculates the distance factor
Calculate final score
Save it to database
Add triggers to call this function every time an offer or a request is created, updated (, removed?) or a matching is created or denied and other locations this score has to be (re)calculated
Alter existing JSON returns to include a matching score per object and sort the return list by descending score
Implement a function that calculates the matching score between an offer and a request and stores its result into a database table consisting of the fields:
| regionID | offerID | requestID | matchingScore |
This function is supposed to work like described here (German!).
This issue probably breaks down into following parts:
Maybe it might make sense to define this function on a
Region
struct.Part of #96