Amazon CloudSearch is a recent addition to Amazon Web Services.
The idea is to offload complicated search algorithms, processing and indexing to Amazon, who handle all of this along with scaling and resource efficiency.
This is not a front-end (user interface) to search your data, but rather an endpoint (URL) where data is returned in the desired format (for example, JSON). You still have to build the application/user interface to request and respond to the data.
Even competent developers who control most aspects of their site’s infrastructure can benefit from using CloudSearch which frees them from laborious optimization, scaling, and feature-specific tasks that go along with application search mechanisms.
You submit/upload your data to the service (CSV, JSON, XML, etc), and then you receive an API endpoint (URL) where your application submits requests and handles the response:
For example, with PHP you could use cURL to request data based on a search term or phrase:
$search = urlencode("apples and oranges"); $request = curl_init("https://search-test1-...us-east-1.cloudsearch.amazonaws.com/test1/search?q=" . $search); ... $response = json_decode( curl_exec($request) );
You decide what fields get indexed, and from what IP addresses data can be requested:
You are charged for CloudSearch much like EC2 – per hour across the following dimensions:
- Search instances
- Document batch uploads
- IndexDocuments requests
- Data transfer
CloudSearch definitely seems like a great addition to the vast library of resources available when using Amazon Web Services.