Global Search seems to ignore KM rules when an exact match is found on number

jay_carrick
Giga Contributor

When searching using the global search (top right of UI, Eureka), the search ignores all my rules for KM articles if the exact article number is entered.   The global search ignores the rules for if the article is Retired, passed the valid-to date, role matching, not active, blank published date, etc..   This ONLY occurs when an EXACT match is found with the article number.   This behavior does not occur if you are within KM and the KM view/search.     Is there something missing that is allowing this to occur in the global search?

 

Example:

Article KB0099445 is retired.

 

In global search I enter - KB0099445, it will be returned.     If I only enter 99445 in global search, an exact match is not found and all the rules apply and the article is not returned.

 

In KM search I enter - KB0099445 and it will not be returned because the rules are applied.

 

Any suggestions?

1 ACCEPTED SOLUTION

jay_carrick
Giga Contributor

From ServiceNow


Knowledge management was designed to have kb_knowledge records set to "Retired" when their "Valid to" date had expired. Once they are set to "Retired" they can either be deleted or archived else where.



If you would prefer to keep records that are retired there are several options you can use that are built into the platform to prevent access.


--You can create an ACL condition for "is not retired" and the role would be set to ITIL or whichever role you would like to prevent access.--You can create a before query business rule that adds an additional condition to any query against kb_knowledge if a condition is met


What our developers did was:


Create a script that avoids the access to retired articles to all user that does not have 'knowledge_admin' role.     This way a person that is a knowledge admin can still always find a retired article in regular search (or using the normal edit list).


View solution in original post

8 REPLIES 8

Kalaiarasan Pus
Giga Sage

just checked .. its weird that active false tickets are coming in global search... i have read the solution somewhere for this.. will let you know


Subhajit1
Giga Guru

Hello Jay,



You can look into the 'glide.ir.query_method' system property and see if you can Filter Out Active=False Records.


Other than that, on an Exact Search, the Article would be returned in a form view and that is the Default Configuration.



Thanks,


Subhajit


hyena
Mega Contributor

I do not believe this happened prior to EUREKA, and we are looking for a fix on this as well.   Retired articles should not appear to users if retired.   This has to be a bug.


Michael Fry1
Kilo Patron

If you look under System Definition > Search Groups, then Knowledge & Catalogs, and look at the conditions set on the kb_knowledge text search tables, It should say something like: workflow_state=published^active=true^valid_to>javascript:gs.daysAgoEnd(1)^EQ




This all replies on text index is working correctly but assuming it is, do you have conditions?