Challenge Overview
In order to achieve this, we need to do as following
Update Logstash Config
We have a logstash config that imports member data into Elasticsearch, Please update the logstash config (ap-member-microservice/local/conf/members-es-conf.j2) to include a suggest by handle when indexing the data: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html
This index already exists in production, please describe steps required to update the existing index. We would rather not have to delete the existing index as it would cause downtime.
Add Support To Access Elasticsearch
Currently member service does not use Elasticsearch, please use jest http client (https://github.com/searchbox-io/Jest) instead of Elasticsearch Java API (transport protocol) to access Elasticsearch. This is important because we will use AWS elastic search, and the Java API is not supported.
Create An Endpoint to Suggest Member Handles
- GET /v3/members/_suggest/{term}
- The result should be a json array of strings wrapped around an ApiResponse object, containing member details returned by the "suggest" search on elasticsearch.
-- Following fields should be returned as part of the response: id, handle, photoURL, firstName, lastName, maxRating
-- Suggest response should contain at most 20 matched members
-- Response metadata should include totalCount
About Local Environment
The related source code and local environment setup guide will be provided in forum for development of this challenge. Please check the forum for detail, and raise earlier if you meet any problem.
Final Submission Guidelines
- Code Changes For the new endpoint- Deployment Guide for updating existing index
- Verification Steps For local environment