A high level overview of how to create a search application with Amazon CloudSearch

In this article, I will demonstrate how to build a simple search application using AWS CloudSearch.

Let’s briefly go over these two topics before getting into the more technical details.

What is Amazon CloudSearch?

Amazon CloudSearch is a fully managed cloud service that’s easy to set up. It can search massive collections of information such as web pages, documents, forum posts without worrying about setting up hardware or maintenance. It also scales automatically if your application experiences a change in the amount of traffic.

Some of the features available for Amazon CloudSearch:

  • Full-text searching with language-specific text processing
  • Autocomplete suggestions
  • Customizable relevance ranking and query-time rank expressions
  • Boolean search
  • Geospatial search
  • Highlighting
  • Support for 34 languages

How do search engines work?

Search Engines provide three primary functions.

  1. Crawling

The process in which search engines discover and find new content, such as web pages, images, and other types of media and documents.

2. Indexing

When a search engine finds new content, the information’s stored in an index, a database of all discovered content, and then determines if it is worth providing to users.

3. Ranking

Search engines order results by relevance, and the higher the ranking means that the search engine believes that the content is more relevant.

AWS Architecture

How to create and configure a search domain.

Navigate to CloudSearch and Click on Create a new search domain.

Region: N. Virginia

Service: CloudSearch

Search Domain Name | Desired Instance Type | Desired Replication Count
Upload Sample JSON Data

In the image above the application will analyze the JSON file and separate them into key value pairs

Current Policy
Configuration

Wait for the search application status to change to ACTIVE

Sample Search Endpoint

As you can tell, it’s very simple to provision resources to create a search application. I’ve included more details in the link provided at the conclusion of this article.

How to upload sample JSON data you want to search for in your domain.

Cloud Search Dashboard with test-search-application Status
Upload a sample JSON file

This may seem a bit confusing at first but hopefully it makes much more sense at the end of this article. Make a note of the Search Endpoint as we’ll be using this later on when testing the search application.

How to test your Search Application.

Once everything has been setup it’s time to test the search application.

Search Field to test search application
Returned Searched Query

The Search Application performed an analysis in the previous steps and created key value pairs using the information provided in the JSON file. You can also use other files such as CSV.

Using the search endpoint from How to upload sample JSON data you want to search for in your domain, you can perform a search query like the one below.

search-test-search-app-ihwthfewetbocqx3dkbc2gx5t4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=harry+potter&return=_all_fieldssearch-test-search-app-ihwthfewetbocqx3dkbc2gx5t4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=harry+potter&return=_all_fields
Sample Response JSON data

Although the information I’ve provided doesn’t go into too much detail I still hope you will find it useful at a high level. You can also refer to the links below for more in depth research.

Resources:

https://moz.com/beginners-guide-to-seo/how-search-engines-operate
https://aws.amazon.com/cloudsearch/getting-started/

--

--

--

Short stories about my journey in Information Security | Penetration Testing and perspective of a Neuro Divergent Hacker.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

PYTHON_PROGRAMMIG

Introducing the PAYCAM Lotto Protocol project

Intermediate: How to Improve User Retention and Engagement in mobile apps using Huawei APP Linking…

What is the tmpnam function in C ?

Why Car Lovers Make Great Software Engineers

Compiling video clips using python.

Customer Service Is As Important As Automation In DevOps.

Are you building a SaaS application?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
THE NEURO DIVERGENT HACKER

THE NEURO DIVERGENT HACKER

Short stories about my journey in Information Security | Penetration Testing and perspective of a Neuro Divergent Hacker.

More from Medium

Secure Your Cloud using CSPM

How to do a free security review of AWS Cloud : PROWLER

Let Us Decrypt Envelope Encryption

Give me Overlap CIDRs(AWS)