Monday, September 23, 2019

Engineering Insights: Azure Search-based Web Solution



Business Scenario

A multinational technology corporation offers numerous online learning courses for its premium customers. The customers’ employees rely on the courses to improve their skills, helping them remain competitive in today’s business environment.

The corporation’s previous course management system was cumbersome. The system did not allow employees to quickly search among the thousands of learning courses. Users could only find courses if they knew exactly what they were looking for. Employees needed to be able to browse and filter the catalog and select an offering for their needs. They also expected fast answers. Every millisecond matters!

The corporation needed a scalable solution for future growth.

What customers needed with better search:

1. Better browsing capability – Our client’s employees had difficulty narrowing down courses that fit their expertise level.
2. Enhanced search – Our client’s employees could not search within the course’s content, such as the description or video subtitles.
3. Improved relevance – Our client’s search results did not show the results most relevant to the search term.
4. Rapid free-form text search – Our client needed the ability to support fuzzy search based on terms that have similar construction.

How We Did It: The Technical Implementation

To generate improved search results, we built an entire architecture powered by Azure Search. The corporation’s course details are stored in Azure Cosmos database. Using Change Data Capture, we achieved incremental indexing.

With this architecture, we implemented native search capabilities, faceted filtering, sorting, auto-complete, and pagination in a robust and scalable manner.

By leveraging scoring profiles, we developed a custom solution to improve search ranking and relevance.

Key Highlights:

1. Reduced page load time by 90%.
2. Improved user experience with auto-complete, hit highlighting, sorting, and paging.
3. Created scalable architecture.
4. Incorporated linguistic analysis.
5. Implemented server-side encryption at rest.


Business Outcomes:

With the new Azure Search-powered architecture, courses are no longer undiscoverable. Users are very satisfied with the improved speed and accuracy of results. Users can refine results by technology, video duration, and difficulty level using the rich filtering system. The filtering experience has improved customer confidence, encouraging more users to actively complete the courses--ultimately boosting our clients’ customers’ technical competence.