I'm building a ticketing system for our support.
After a ticket is created, single problems are added to its ProblemList variable by clicking on entries from a 100+ problem portal. For the sake of simplicity, let's say that:
ticket 1 has problems a, e, f
ticket 2 has problems a, b
ticket 3 has problems c, d, f
and so on.
(Let's also simplify by limiting the possible problems to a max of 10 and sorting the contents of the ProblemList field on modify, through a custom function).
now comes ticket n, with problems b, c, d, g
is to have a portal showing solved tickets, sorted in decreasing order by "best problem set match".
In my example we would have ticket 3 in first position, with a correlation factor of 2, followed by ticket 2 with CF = 1. Ticket 1 does not appear, obviously.
Would be to build 10 relationships R1 to R10 and set CF = PatternCount(list (R1::ticketID) & ... & list(R10::ticketID); ticketID)
is: how would you implement "The Wish" most efficiently ?