CPM Search not listing partial matched work object id
In CPM FS 7.1.2, it was observed that when one search for a work object id (e.g. C-123) and found one with that exact match of case id, only that work object will be listed in the search result. When there are other work object whose id partially matching that string (e.g. C-1234), it does not get listed. It was also observed that for some search result, the text that is displayed is the account number instead of the work object id. The desired behavior is that searching C-123 will list C-123 and C-1234, and the list will display the work object id instead of the account number.
No error message. Observed the search functionality seems to be not as expected.
Steps to Reproduce
1. Create work objects in your CPM FS system.
2. Search for certain work object id keyword which has partial match. For example create I-1 to I-11. Search for I-1.
3. Observe that I-10 and I-11 don't get displayed.
4. Search for I-
5. Observe some search result is listed as I-x and some as 1234566.
The described behavior is the expected behavior for out of the box CPM search. CPM search is using Lucene. Any given keyword will list full match if found, or if not partial match. As for the account number, the activity CPMSearchResultsWork has a logic where it checks that if account number is not null, it will display account number, otherwise it will display the work object id.
1) How to search I-1 and also show I-10 and I-11?
End user can search using keyword pyID:I-*
Additional filter can be given for example, if end user would like to filter out resolved work object, they can search using keyword pyID:I-* AND NOT pyStatusWork:Resolved*
2) How to display only the work object id in the search result and not the account number?
Save as CPMSearchResultsWork activity rule to your application ruleset.
Update step 8.2 so that pySearchResults.pxResults(<LAST>).pzItem will always have tmpWorkPage.pyID.
0% found this useful