Search is important feature of many apps and web sites because it is the main way for users to find quickly the information they are looking for. Typing search keywords to search box is not the end point of search we can provide to users. Sites that have huge amount of data can also help users to find out what keywords to use. In this post I will show how to use Azure Search suggesters to help users to find out these keywords.
In my last blog post about REST-clients Why Azure REST API-s and how to prepare for using them? I introduced how to write simple base class for Azure REST API-s. In this post we will implement simple REST-client for Azure Search. This is the same code that I’m using in my beer store sample application. I also make some notes about how to use search clients in domain models.
Planning for search is mandatory first step when starting building search index. If we build search indices as we go we easily end up with messed up and hard to use indices. And even worse – we may end up with very complex search queries that need way more resources than we expect. This post goes through simple analysis of example beer store search index and shows how to create Azure Search index for products.
Azure Search is new cloud service by Microsoft. I played with this service a little bit and now it is my favorite toy. In this post I give a quick overview of Azure Search and tell you what it is and what it is not. Also I provide some advice about what tools you need and how to get rid of some problems I faced when using service on CoreCLR.
Adding search capabilities to applications is something that users often ask. Sometimes it is not enough to have just filters on lists. Instead of going with mainstream and write complex SQL queries we can be smarter and use specialized indexing and search solutions that perform way better than custom large SQL queries that I consider as anti-pattern for searching something. In this posting I will introduce you Lucene.NET indexing and search engine and show you how to use it in your applications.