How is the SEARCH_QUALITY field within the EBR_LOG MDB table calculated?

Document ID : KB000076823
Last Modified Date : 20/04/2018
Show Technical Document Details
Question:
How is the SEARCH_QUALITY field within the EBR_LOG MDB table calculated?
Environment:
CA Service Desk Manager 14.1 and 17.x
All Supported Operating Systems
Answer:
There is an logic/formula inside BPEBR_NXD daemon which calculates the SEARCH_QUALITY value.

For example
1. Assume you have a three published Knowledge Documents with titles as 'Test1', 'Test2' and 'Test2 Knowledge Document'
2. User searches for a Knowledge Document inside the ticket detail page.  In the ticket detail page under Knowledge Management tab, user searches for 'Test1' and the search  returns one Knowledge Document. 

The BPEBR_NXD daemon inserts a row in the EBR_LOG MDB table about the search results.

If you observe the row within the EBR_LOG MDB table, you will find out that the SEARCH_QUALITY is 50.

If one (1) Knowledge Document is returned in a search, the value it is 100/2.
If two (2) Knowledge Documents are returned a in search, the value is 100/2 + 100/(2*2).
If three (3) Knowledge Documents are returned in a search, the value is 100/2 + 100/(2*2) +100/(2*2*2).

The SEARCH_QUALITY values are used to 'grade' Knowledge searches ( i.e. Excellent, Very Good, Good, Fair or Poor).

WHEN ( (EBR_LOG_session_log.SEARCH_QUALITY) < 20 ) THEN N'Poor' WHEN ( (EBR_LOG_session_log.SEARCH_QUALITY) >= 20 AND (EBR_LOG_session_log.SEARCH_QUALITY) < 40 ) THEN N'Fair' WHEN ( (EBR_LOG_session_log.SEARCH_QUALITY) >= 40 AND (EBR_LOG_session_log.SEARCH_QUALITY) < 60 ) THEN N'Good' WHEN ( (EBR_LOG_session_log.SEARCH_QUALITY) >= 60 AND (EBR_LOG_session_log.SEARCH_QUALITY) < 80 ) THEN N'Very Good' WHEN ( (EBR_LOG_session_log.SEARCH_QUALITY) >= 80 ) THEN N'Excellent'
Additional Information:
https://docops.ca.com/ca-service-management/17-1/en/reference/ca-service-desk-manager-reference-commands/data-element-dictionary/knowledge-management-tables#KnowledgeManagementTables-EBR_LOGTable