Sunday, June 5, 2016

Azure Search #1


I will be writing a series of post on azure search step by step. Each post I will be explaining different areas in azure search.

As this is the first post I will be explaining what azure search is and what are the applications of azure search.

What is Azure Search ?

A search-as-a-service solution allowing developers to incorporate great search experiences into applications without managing infrastructure or needing to become search experts.

If I elaborate the definition bit more,Azure search provides lot of services, which allows developer to add high search experience to their end users, without been a search expert. In other words developer has to call some API calls to azure search all the search algorithms will be executed by azure search service and result will be returned. this makes developer life easier and giving end user a high search experience.

Why we need search?

Search box in an application has been the main entry point of most of the applications. If we unable to provide good search results it tends users to leave our application.

Ex:- If users makes a typo on searching an item in a shopping cart and if no results came, user might think this cart doesn't have the tem he searched for, user might leave and go and try on another shopping cart. To avoid such situations we need to have a search service which detects users type and send the search results with best match.

What are the Search Options?

Before we jump in to azure search first we will see what are the search capabilities we need to provide for our end users. Following are some examples of an shopping cart.

1. Type Ahead

When user comes and type in the search box, we should be provide them some type heads with suggestions so user can click on them and complete search without typing the whole search text.


2. Facets

Facets are filters given to users to filter out the search results based on different criteria's.


3. Hit Highlighting

On the search results the search text which user has entered should be highlighted in search item title or description so user can see the relevance of the search items.


4. Spelling Mistakes

As you can see when searching “mountain” user has made a typo and entered “Mountan” still the user is getting search results which best match


5. Geo-Spatial Search

In case user wants to search items near his location, then geo- spatial search is needed to be added to the application


6. Paging


7. Sorting & Scoring

User should be able to sort the results on different options. Also Best Match sorting should be also available.

Ex:- if the search text is found in product title should come top of the results than the products which contains the search text in the product description. For that search results should contain a score best on the relevance to the search text.


Azure Search service provides services to add these capabilities in your search using minimum code and time.

When We should Use it?

Basically Microsoft pointed 3 main areas where this search service could add real value. It does not mean this can be used only in these areas, it could be used in many areas other than this.

1. E-Commerce Application.

2. User Generated Content Applications Ex:- Recipe sites

3. Business Application

Hope you had a basic understanding of what azure search provides as a service and why and when we should use it. In my next article I will be discussing concepts behind azure search then how to enable your data to be searched by azure search.


Hope this helps