If you are as interested in Azure Search as I am, you might already know that the Azure Search Service was made generally available earlier this this month. Additional details can be found here
This includes a Service level agreement stating that Microsoft will guarantee at least 99.9% availability for index query requests when an Azure Search Service Instance is configured with two or more replicas, and index update requests when an Azure Search Service Instance is configured with three or more replicas. Note that the free tier doesn’t have an SLA, which makes perfect sense.
Apart from that, the search team also introduced some new features making the service even more valuable.
Azure Search Service SDK (preview)
The most noticeable change for developers is the introduction of the Azure Search SDK. The SDK makes the development of .NET applications utilizing the Azure Search Serviced a lot easier.
Just a personal note here… When it comes to API’s within Microsoft Azure, it’s important to know that the REST API’s are leading in most cases, if not all. Therefore other API’s targeting specific platforms are often just wrappers around the REST based API’s. Based on prior experiences, I just want to mention (read warn) that the higher API abstractions are often lacking features or incompatible with the Azure automation runtime. Yes, It’s a bit more work getting started when using the REST API’s, however you will probably have a greater understanding of the API details and in addition being able to use the latest features right away.
The SDK has been published on Nuget and the package can be found here:
or run the command below in the Package Manager Console:
Install-Package Microsoft.Azure.Search -Pre
What’s probably more interesting is being able to take a peek at the SDK source, which can be found on GitHub.
“More like this” (Preview)
This feature is kind of self-explanatory. The more like this API allows retrieving documents that are “like” a specified document. Given that Azure is based on Elasticsearch, it’s possible to gather some additional details on how this is accomplished.
Given that Elasticsearch is based on Lucene it’s possible to find even more details on the lucene project website
Enhanced Multilanguage support (Preview)
Azure search isn’t just exposing the Multilanguage capabilities as within the underlying products (Elasticsearch & Lucene) but introduced additional options developed by the natural language processing division.
According to the Azure Search team, adding the NLP stack provides another choice for handling languages including a deep understanding of the unique differences across each of the supported languages.
At the moment it’s a bit unclear what the benefits of “a deep understanding” are however, for now the system is able to match on synonyms. Details on changes regarding stop words have not been covered during the demo.
Interesting articles covering Natural Language Processing and details on current projects can be found here. Just a little before bedtime reading…
Indexers are basically crawlers and enabling you to index a Azure DocumentDB, SQL Server running in Azure VMs, and Azure SQL Database without the need of writing any code.
For now it’s only possible to setup a crawler using the API, however the option to setup an indexer will be included within a future release of the Azure Portal.
In case you would like to utilize the preview features, make sure to provide the correct API version: 2015-02-28-Preview