Azure Search Review

Offers a tremendous amount of flexibility and scalability when integrating with applications

What is our primary use case?

Azure Search is a 100% cloud-based solution. This offers a tremendous amount of flexibility and scalability when integrating with applications. 

How has it helped my organization?

Creating an effective, predictable search is a difficult task for any organization. Users often seek data in a variety of ways, so having an adaptable solution is key to providing everyone with a unique and meaningful experience. By implementing Azure Search, I have been able to create immersive, feature-rich search experiences for my applications that feature helpful facets, in-line highlighting, and predictive results as user types. I have used Azure Search on personal and corporate websites, as well as with mobile applications.

What is most valuable?

The product is extremely configurable, allowing you to customize the search experience to suit your needs. The ability to create custom scoring profiles, text analyzers, and synonym mapping is extremely useful when architecting a solution using the product.

What needs improvement?

As the product continues to be developed, there are several areas where improvements can be realized. For SDKs, Azure Search currently offers solutions for .NET and Python. Additional platforms would be welcomed, especially native iOS and Android solutions for mobile development. For availability, expanding its use to all Azure datacenters would be helpful in increasing awareness and usage of the product.

For how long have I used the solution?

One to three years.

What do I think about the stability of the solution?

In my more than two years of using the product, I have never experienced any significant issues with stability. The service has always been very responsive and available. Because all communication is done via the REST API, data is retrieved quickly in JSON format to reduce overhead and latency.

What do I think about the scalability of the solution?

Azure Search offers five levels of service, depending on the amount of data being stored and indexed. These options allow for a variety of solutions from small, free search solutions, to large, enterprise level integrations. Because the product is hosted in Microsoft Azure, scalability has never been a concern.

How are customer service and technical support?

Azure support is of a very high quality, providing detailed analysis and assistance at every level. When I have engaged support in the past, they have been very knowledge and (most importantly) dedicated to helping me resolve my issue and achieve success. 

For Azure Search, the level of support has been escalated, as I have communicated several times with the Program Manager for the product. This direct interaction has provided me with in-depth knowledge of the product, technical guidance from the product developers, and a personal experience when working with the platform. 

Which solution did I use previously and why did I switch?

Prior to using Azure Search, most of the applications that I created used on-premise Lucene.NET solutions. I decided to transition to Azure Search to leverage the scalability of the cloud and the additional faceting and scoring capabilities.

How was the initial setup?

When I first implemented Azure Search, much of the configuration was done via the REST API. This meant I needed to interact with the Azure Search service using standard JSON requests to create my indexes, scoring profiles, and to populate the data. While usable, this method of interaction was not ideal as it required a lot of manual coding and configuration. As the product evolved, a .NET SDK was released, which greatly simplified the process by allowing me to write native C# code from within my application. Additionally, the Azure Portal was enhanced to offer more control over the creation of the indexes and their configuration. Today, the process is extremely straightforward and easily accomplishable with a variety of methods.

What's my experience with pricing, setup cost, and licensing?

When telling people about the product, I always encourage them to set up a new service using the free pricing tier. This allows them to learn about the product and its capabilities in a risk-free environment. Depending on their needs, the free tier may be suitable for their projects, however enterprise applications will most likely required a higher, paid tier. For the actual costs, I encourage users to view the pricing page on the Azure site for details.

Which other solutions did I evaluate?

Prior to selecting Azure Search, I also evaluated Amazon Elasticsearch. Like Azure Search, Elasticsearch is a cloud-hosted solution with similar capabilities. Due to my previous experience with Azure, Azure Search was a better solution for my projects.

What other advice do I have?

If you are getting started with Azure Search, I strongly encourage you to read the documentation. Search is a complex, dynamic beast of a solution with a tremendous amount of customization options. From custom text analyzers to algorithm-based scoring profiles, the possibilities are seemingly endless. Understanding the capabilities of the platform are essential to a successful implementation. 

**Disclosure: My company has a business relationship with this vendor other than being a customer: Kentico has a long standing partnership with Microsoft and the Azure platform.
Add a Comment