Asset Search Service Amazon CloudSearch PoC Assembly

Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

We currently have an Asset Library, which is a repository of reusable code components that we leverage for the delivery of cloud-based solutions for our consulting customers. It's a JQuery app that runs on AWS and accesses a database that's on Salesforce. Our users are exclusively in Salesforce, so the UI is iframed into a Visualforce page (and the users can access the data in Salesforce using the native Salesforce UI as well). The application is an "Asset Search", that's basically a custom search against the Asset object in Salesforce (see screenshot in forum).

Competition Task Overview

We want to replace the internal, home-grown search implementation with a much higher-quality, existing cloud-based REST search API. Amazon CloudSearch is the likely candidate because a) we already have code running on AWS, and b) it seems to do exactly what I'm looking for:

  • Has a REST API that Indexes data that you send it
  • Has a REST search API that returns primary keys for records matching the search term
  • Supports sorting by any field
  • Supports filtering by any field
  • Has customizable search tuning, such as relevance ranking, and field weighting.
  • Supports boolean searches

The purpose of this contest is to build a working Proof of Concept of Amazon CloudSearch (ACS) with a test UI and Salesforce data model (attached in forum).

The following requirements should be covered by the PoC:

  • Install the Asset data model in Salesforce.
  • Configure CloudSearch index and search services.
  • Implement trigger on Asset to send record data to ACS
  • Implement a test UI in JQuery or Bootstrap/AngularJS that provides search, filtering and sorting on some of the Asset fields, and shows search results as determined by a call to the ACS search service.
  • Demonstrate the sophistication of searches using terms that require stemming ("opportunity" finds "opportunities"), word proximity, etc.
  • Nice-to-have: highlight the part of the data in the results that matched the search term(s)

���We also need to have these fields indexed (this is the order of importance, if that can be conveyed to Amazon CloudSearch):

  1. Name
  2. Short Description
  3. Detailed Description
  4. Tags
  5. (later when data model is expanded - primary asset contributors)
  6. Technologies
  7. Tips & Tricks
  8. Internal Review Notes
  9. Asset Platform
  10. Applications Integrated
  11. Open Source License
  12. Asset Location
  13. Preview Media URL

���Make sure the search app runs on AWS and the database is in Salesforce

Technology Overview

  • Amazon CloudSearch
  • Salesforce
  • JQuery / Bootstrap / AngularJS

Documentation Provided

Register to see attachments in the forum.



Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 

Below is an overview of the deliverables:

  • Fully Implemented PoC that covers all requriements.
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.
  • The build script(s) to build/deploy the application (if applicable).

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30038825