Challenge Overview
Welcome to the NASA Search Portal Recommendation Engine Revisited Challenge. As part of this challenge, you will use the suggested architecture to help us build the Recommendation Engine for our application.
Project Overview
NASA needs your help building an enterprise search portal. NASA & Topcoder have completed the design and frontend code for a search interface that is intuitive for beginner to advanced users which allows users to search against NASA intranet as well as public internet data sets.
As part of this project, we are integrating the search engine (Solr Cloud) which will serve as a backend to the Enterprise Search User Interface and seek to expand the capabilities of the existing application.
Challenge Details
Our application, very simply put, is a search engine meant for internal use.
Through a series of challenges, we built a Recommendation Engine for this Search Portal to fulfill the following core requirements:
-
To recommend results based on what URL’s were clicked on by other users for a specific query
-
Recommend results based on what URL’s were clicked on by other users for a specific query based on the location the user is from.
-
Recommend results based on what URL’s other users clicked on for a specific query based on what other users clicked on with similar query profiles to the current user.
-
Recommend queries for users based on what other users with the same location and job function search for.
We then reviewed this with NASA who suggested many changes. We ran an Architecture challenge to properly address the issues raised by our client. Using this as reference, we would like you to develop the Recommendation Engine again. The provided Architecture suggests that you start from scratch and that you ignore the existing Recommendation Engine code. Kindly adhere to this and ensure that your solution follows the proposed Architecture.
Please do not hesitate to ask questions in the challenge forums. The deployment, as you will find, is a very laborious process due to the existing design. We are looking for the community’s expertise to improve the existing architecture to meet our client’s expectations and more importantly, to impress our client.
Final Submission Guidelines
-
The recommendation engine and any changes to the app to interact with the engine.
-
You can either submit just the changes or the entire app.
- Kindly check out the Submission Deliverables in the Assembly Specification
- Make sure that the existing tests run - both the Grunt Lint tests and the tests in the Contest Output/Test Suites folder