From 5e55ab17b201e147ee086cb080a692c5986fdf5d Mon Sep 17 00:00:00 2001 From: Sai Charan Koratala Date: Tue, 21 Oct 2025 10:46:10 +0530 Subject: [PATCH 1/2] Create findSimilarTickets.js This script helps the users to find tickets that have similar ticket descriptions and short descriptions and score as per their matched content which can be utilised in reports to see how many tickets are having similarities and further take necessary actions like creating a problem ticket with these details. --- .../findSimilarTickets.js | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Server-Side Components/Background Scripts/Find Similar Tickets/findSimilarTickets.js diff --git a/Server-Side Components/Background Scripts/Find Similar Tickets/findSimilarTickets.js b/Server-Side Components/Background Scripts/Find Similar Tickets/findSimilarTickets.js new file mode 100644 index 0000000000..38dda6497d --- /dev/null +++ b/Server-Side Components/Background Scripts/Find Similar Tickets/findSimilarTickets.js @@ -0,0 +1,82 @@ +(function() { + var table = 'incident'; //can be used for other tickets as well + var sourceSysId = 'f4755b82c3203210348bbd33e40131cb'; // sys_id of the ticket which is used to find similar tickets + var limit = 10; // top N results + var minScore = 0.05; + + function tokensFromText(text) { + if (!text) return []; + text = text.toLowerCase().replace(/[^a-z0-9\s]/g, ' '); + var raw = text.split(/\s+/); + var stop = { + 'the':1,'and':1,'for':1,'with':1,'that':1,'this':1,'from':1,'have':1,'has':1,'was':1,'were':1, + 'a':1,'an':1,'is':1,'in':1,'on':1,'of':1,'to':1,'it':1,'as':1,'by':1,'be':1,'are':1 + }; + var map = {}; + for (var i=0;i