Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to make partial pattern matches in keyword queries?

Maxim8
Giga Contributor

Hello all,

As the question states, I was wondering if there is a way to make partial pattern matches for keyword queries using GlideRecord?

Let's say I have records/text like:

Apple

Orange

Apple and Orange

I know that if I do something like

gr.addQuery("123TEXTQUERY321", keyword);

I have to match the entire word for a result for a result to show up, and if I make keyword something that is a partial match, like

gr.addQuery("123TEXTQUERY321", "Appl");

no results will show. Is there a way to get results back using partial matches and if so, what is the best way?

I've tried using wildcards like *keyword and keyword* but that doesn't really solve my issue because there are cases like searching the last X digits of a record's number field where the result won't show up. Individually, these also don't help the partial matching issue either. Querying Appl* helps with the partial matching issue but it doesn't help if the query is for the last X digits of a record's number field (000001* isn't going to return results for RITM0000001). And switching from keyword* to *keyword just switches the type of queries that won't show up.

/*
Example records
RITM0000001 - Oranges
TASK0000001 - Apples
*/

// keyword*
gr.addQuery("123TEXT321", "Appl*")
// TASK0000001 - Apples appears
// RITM0000001 - Oranges doesn't appear

gr.addQuery("123TEXTQUERY321", "0000001*")
// Nothings appears


// *keyword
gr.addQuery("123TEXTQUERY321", "*Appl");
// Nothing appears

gr.addQuery("123TEXTQUERY321", "*0000001");
// TASK0000001 appears
// RITM0000001 appears

I've also tried doing things like *keyword* but I get an error message saying how the wildcards are too ambiguous/too many results (or something like that).

 

Is there any way to achieve partial pattern matching when querying keywords? Or do I have to resort to some type of workaround?

10 REPLIES 10

Uma Maheswari1
Tera Contributor

Hi, 

 

I am looking for similar functionality, but the above code is not working for 'dmn_demand' table, Is there anything I am missing.