Click here to Skip to main content
15,035,480 members
Articles / Hosted Services / Azure
Posted 9 Nov 2018

Tagged as


2 bookmarked

Azure Search - A Quick Overview

Rate me:
Please Sign up or sign in to vote.
5.00/5 (5 votes)
9 Nov 2018CPOL4 min read
Use cases for Azure Search and why it's worth considering


Users generally expect to interact with data by searching, especially since this is the default method used on the internet. However, it would be difficult and time consuming if every application developer was also expected to develop a search engine for use on her/his application. Azure Search is an attempt to solve this problem. It is a managed service which is part of the Azure Cloud Platform and runs in the public cloud. It enables indexing and querying of data which has been uploaded to Microsoft servers. An application using Azure Search can run on Azure, on-site or on another cloud platform. Wherever the application is, Azure Search sits alongside and provides indexes which can be used to search the data. However, it’s only meant to be used by developers and not end users.

Image 1

What's the Use Case?

Azure Search was designed with a number of scenarios in mind, including:

  • e-commerce applications
  • user generated content sites
  • custom business applications

With e-commerce applications, users expect to be able to search the website to find what they want. However, the organisation also wants to be able to control the results of those searches, especially the order that those results are returned in. This control of the results is used to encourage consumers to buy particular products. Also, having its own search service means that a business can see what users are searching for and use this information to implement changes in the range of products offered.

Image 2

When it comes to user-generated sites, people also expect to be able to search the website, but the organisation will also probably want to be able to control the results returned. For example, using this control over results to nudge consumers towards goods, products and services offered by the website’s sponsors.

Many business applications would benefit from a search option, especially those with a large or complex user interface and for those applications that are being introduced for the first time.

How Does Azure Search Work?

Infrastructure and availability are managed by Microsoft, so there’s no infrastructure management on your part. You can tailor the service to meet your business needs by scaling in two dimensions to handle more document storage or higher query loads, or both. Functionality is exposed through a REST API or .NET SDK. Because Azure Search is a fully managed service, you don’t have to deal with index corruption, service availability, scaling, or service updates.

Image 3

The Azure portal (above) provides administration and content management support as well as tools, including Import Data Wizard to configure indexes and a Search explorer which is used to test queries and refine scoring profiles. You can also collect and analyse search traffic analytics. Other features include geo-search, linguistic analysis, data integration, cognitive search and user experience. User experience features are summarised below:

Image 4

Finally, Azure Search is currently available in over 50 languages.

Using Azure Search

To start using Azure Search, you have to create an instance of the service. This includes specifying which Azure datacenter the instance should run in and what its capacity should be. Then, an application can start using the service via a RESTful interface.

Image 5

First, you’ll have to create indexes. This is done using the Import Data Wizard (example above). An index is like a database table that holds your data and can accept search queries. Define the index schema to reflect the structure of the documents you wish to search. Next, load data into the indexes. You can retrieve data from external sources (a pull model). This process is supported by indexers which automate and streamline aspects of data ingestion. Indexers are available for Azure Cosmos DB, Azure SQL Database, Azure Blob Storage, and SQL Server hosted in an Azure VM. Alternatively, you can use a push model, pushing data from almost any dataset using the JSON format. This model is provided through the SDK or REST APIs. The index will have to be updated periodically as the data on it changes, but this can be done on-demand or as a scheduled refresh.

When the indexes are populated, the application can begin searching using simple HTTP requests with REST API or the .NET SDK, and displaying the results. Use the built-in Search explorer query page to test query strings. Key query capabilities include filters, hit highlighting, fuzzy search and geo-search.


  • 10th November, 2018: Version 1


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Chief Technology Officer The DataWorks
United Kingdom United Kingdom
Allen is a consulting architect with a background in enterprise systems. His current obsessions are IoT, Big Data and Machine Learning. When not chained to his desk he can be found fixing broken things, playing music very badly or trying to shape things out of wood. He runs his own company specializing in systems architecture and scaling for big data and is involved in a number of technology startups.

Allen is a chartered engineer, a Fellow of the British Computing Society, and a Microsoft MVP. He writes for CodeProject, C-Sharp Corner and DZone. He currently completing a PhD in AI and is also a ball throwing slave for his dogs.

Comments and Discussions

-- There are no messages in this forum --