Case Study

Custom Liferay Indexing Solution for Mighty Auto Parts

Customer: Mighty Auto Parts

Industry: Retail Automobile Parts

Business Pain:

Mighty Auto Parts is running Liferay Portal 6 and has three different portals implemented.  Access to the portal(s) is based on roles assigned to the end-users.

They are using the out of the box SOLR search engine that is installed as part of Liferay Portal to provide search capabilities for each of the portals.  The primary problems revolved around the user interface regarding the search results and how the portals were being indexed for the search results content.

Key Pain Points:

  • Search results displayed should be based on which role the user is assigned. Currently, only the public portal content is available in the search results making it impossible for end-users to find content on the other portals.
  • To perform a search, the user is required to navigate away from the portal they are currently accessing. The user should be able to search from any of the existing portals and remain within the portal when viewing the search results.
  • The contents of documents (PDF, Word, Excel, etc.) are not currently being indexed, therefore finding relevant documents is not working.
  • Clicking on the search result for a document should download the document. Currently, a search result page with a link to the document is displayed requiring the user to click twice to download the document.
  • Clicking on a search result for content renders a search result page only showing the content snippet with the specified text. Instead, the user should be taken to the portal page containing the content.
  • Images are currently being indexed and are not relevant for the search results which is making it difficult for users to find relevant content.
  • The search results are currently displaying the full content for some content types making them difficult to view for the user.
  • General search configuration for weighting and sorting needs to be updated to move relevant results to the top of the results list.

Challenges:

The out of the box Liferay SOLR indexing does not support the functionality requested by the client.  A custom solution would have to be implemented to support indexing the pages within the portal and to provide the authorization necessary to render the correct search results based on the user’s role.  Also, the existing functionality needed to remain in place to allow administrative users to be able to find content within Liferay Portal Administration.

How we fixed it:

SOLR was reconfigured adding 4 new indexes for each of the different roles used to access the different Liferay portals and the search configuration was updated modifying the weighting and sort order.

Nutch was installed and configured to crawl the three portal applications to capture the web page content and document content.  Nutch would then add the content to the relevant SOLR indexes based on the roles access to the portals.

A custom Liferay search portlet was implemented to provide an updated user interface and deployed on each of the different portal applications.  The portlet retrieved search results from the relevant SOLR index based on the user’s role, thus providing required authorization for the search results.

Key Success:

The updates to search within the Mighty Auto Parts portals simplified the user interface making it easier for the user to perform searches.  It also allowed the search results to render the relevant content to the end-users making it easier for them to find what they were looking for.

Technology Involved: Liferay Portal 6, Liferay SOLR