Azure Search
Microsoft Azure Search is a component of the Microsoft Azure Cloud Platform providing indexing and querying capabilities for data uploaded to Microsoft servers. The Search as a service framework is intended to provide developers with complex search capabilities for mobile and web development while hiding infrastructure requirements and search algorithm complexities. Azure Search is a recent addition to Microsoft's Infrastructure as a Service (IaaS) approach.
History
In 2008 Microsoft released the Azure platform with a cloud based component code-named project Red Dog.[1] The years leading up to 2013 were spent developing the Azure framework within the scope of a Microsoft environment. In 2013 Microsoft issued a general announcement announcing IaaS and detailing new features of Azure, including the new Azure Search.[2]
Azure Search as a Service
Azure Search is an API based service that provides REST APIs via protocols such as OData or integrated libraries such as the .NET SDK. Primarily the service consists of the creation of data indexes and search requests within the index.
Data to be searched is uploaded into logical containers called indexes. An interface schema is created as part of the logical index container that provides the API hooks used to return search results with additional features integrated into Azure Search. Azure Search provides two different indexing engines: Microsofts own proprietary natural language processing technology or Apache Lucene analyzers.[3] The Microsoft search engine is ostensibly built on Elasticsearch.[4]
IaaS and PaaS
Azure offers both the platform via web interface (Platform as a Service) and the hardware via virtual servers allocated to Azure accounts for data storage and processing (Infrastructure as a Service).[5] Azure Search resides within the Microsoft IaaS and PaaS suite as a service, I.E. Search as a Service (SaaS).
Queries
A search string can be specified as one of the query parameters to retrieve matching documents. Azure Search supports search strings using simple query syntax.[6] Supported features include logical operators, the suffix operator, and query with Lucene query syntax.[7] (currently in preview) As an example,
white+house
will search for documents containing both "white" and "house". Lucene query syntax provides features similar to simple query syntax for logical operators and wildcard searches while also supporting more complicated functions such as proximity search and fuzzy search,
Language Support
Azure Search currently supports 56 different languages. Each supported language extension is equipped with a text analyzer to account for differing characteristics pertaining to the specific language. Both analyzers backed by Lucene and analyzers backed by Microsofts natural language processing technology are supported. These analyzers provide features such as text segmentation, word normalization, and entity recognition when processing text documents. The list of supported languages can be found in the Microsoft Azure Documentation.[8]
Search Suggestions
Type-ahead queries or auto-complete search bars provide potential search terms while a user types. The suggestions capability is provided as an optional component specified within an index called a suggester construction.[9] The suggester construction provides information about the list of fields to be considered as content sources for suggestions.
Hit Highlighting
The snippet of text in the search results matching the search query can be highlighted by specifying a set of field names as one of the query parameters for hit highlighting.
Faceted Navigation
Faceted Navigation allows users to specify a field to facet in the query parameters passed to Azure Search. Users can drill down or filter search results by using criteria such as categories, prices and brand. There are several parameters providing customization of faceting capabilities such as sort and intervals. For example, if you specify
facet=rating, sort:-value
The returning results will contains all groups with a rating in descending order by value. Faceted navigation is common in most e-commerce sites such as Amazon.[10]
Geo-spatial Support
Azure Search supports geo-spatial information. This allows users to explore data based on a specified geographic location. An overview of Geo-spatial support can be found in Azure Search and Geo-spatial Data.[11]
References
- Foley, Mary Jo. "Red Dog: Five questions with Microsoft mystery man Dave Cutler | ZDNet". ZDNet. Retrieved 2016-02-04.
- "Azure IaaS Goes GA: It's Time to Head to the Cloud | Applied Information Sciences Blog". Retrieved 2016-02-04.
- https://msdn.microsoft.com/en-us/library/azure/dn879793.aspx
- "Microsoft Azure Search Preview". Microsoft Enterprise Technologies. Retrieved 2016-02-04.
- "Azure Search 101 - Getting started with Azure Search with Liam Cavanagh". azure.microsoft.com. Retrieved 2016-02-04.
- "SimpleQueryParser (Lucene 4.7.0 API)". lucene.apache.org. Retrieved 2016-02-02.
- "org.apache.lucene.queryparser.classic (Lucene 4.10.2 API)". lucene.apache.org. Retrieved 2016-02-02.
- "Language support (Azure Search Service REST API)". msdn.microsoft.com. Retrieved 2016-02-04.
- "Suggesters". msdn.microsoft.com. Retrieved 2016-02-04.
- "Design better faceted navigation for your websites | Web design | Creative Bloq". www.creativebloq.com. Retrieved 2016-02-12.
- "Azure Search and Geospatial Data (Channel 9)". Channel 9. Retrieved 2016-02-04.