Search feature has always been a tough and debatable topic in terms of results accuracy and performance. Every application team generally ends up having their own flavor of searching and a lot of rework is encountered due to absence of a standard pattern/framework. Due to increased work and data transactions during COVID, or otherwise also, providing a search framework will save lot of development time/cost to build one and benefit application users to speed up their work thereby adding lot of value

What it does

'iSearch - Search anything, anytime, anywhere' is a search portal which can be used to search any content. User has options to choose the source and search type (light weight, heavy weight). User must type in a fragment of search text and click on a search button to get results. For Pega applications which have a non-Pega front end, iSearch comes with a simple REST API to do the searches. Eg. In a change management tool, a user could remember only a release name or a release manager's name vaguely and not the complete ID and other details. They could key in whatever info they know and get list of all matching releases in the result set.

Key features of iSearch framework:

  1. Leverages Pega’s elastic search features to efficiently search all tables with string fragment
  2. Provides UI to search contents
  3. Provides REST API to search contents
  4. Can be easily deployed and embedded in any Pega application (encouraging modular architecture)
  5. Cuts across all business (healthcare, finance, insurance, etc) where work and data transactions are involved
  6. Provided with two flavors – Standalone search portal and search component embedded in OOTB user portal

How we built it

  1. Created multiple data sources to demonstrate search
  2. UI screen to take user input and show results
  3. A configurable report definition rule and calling pxRetrieveSearchData activity to trigger elastic search engine in v8.4
  4. Configure all search parameters before invoking search engine
  5. Consolidate results to show on the screen
  6. Created a simple REST API to fire the search engine as another flavor

Challenges we ran into

  1. FTSIncrementalIndexer Queue Processor was shut of due to stream errors and indexing wasn’t happening. Had to raise a Pega SR and get it sorted out on community edition
  2. Showcasing result data from multiple sources (Pega tables) on the same screen as every source structure was different

Accomplishments that we're proud of

  1. Coming up with a reusable search engine which can fit in any Pega project of any business vertical
  2. Providing a wild card search feature where in user can search anything/everything

What we learned

  1. How search engine works
  2. How best the search engine could be interfaced with minimal configurations

What's next for iSearch - Search Anything, Anytime, Anywhere!

  1. Admin portal to perform configurations directly on the app
  2. The search portal can be given to non-pega UI as a json component to embed, using v8.4 UI APIs

Built With

+ 56 more
Share this project: