The web pages increasingly require more interaction with the user and one of the main channels for this is the search for information within the application.
In many cases, the implementation of this type of functionality requires a dedicated infrastructure (with its consequent financial outlay), as well as some important configuration tasks to achieve the main objective: that the consultations return results quickly.
To solve these and other problems, Microsoft’s cloud platform offers us a Search as a Service: Azure Search.
The objective of this SaaS is to achieve an efficient search engine, which from the first minute is ready to be consumed; thus eliminating the inconvenience of the infrastructure and configuration.
What features does Azure Search offer you?
A powerful search is not exclusively made up of great speed when it comes to returning the results, but it implies a series of functionalities around it aimed at achieving a satisfactory experience for the end user.
Facets could define it as the number of occurrences of the same value in a given metadata.
When performing a search, Azure Search can offer you that result for the metadata that you have defined in the index creation.
Filters and searches by text
The search service offered by Azure Services allows you to perform different types of searches depending on how you configure your index. You can perform full value scans or identify that filter within complex text.
Azure Search uses Elastic Search technology to perform this type of heavier searches and return results in a short period of time.
It is possible to indicate for a given field in an index that it will store information related to a geographical position. This option will allow you to search by proximity to a specific point.
The way of storing information within the index is not limited by a defined structure. That is why at any time you can include new fields in your structure, as long as you have correctly defined what the behavior of that field will be.
The Azure search service offers you two price levels: Free and Standard.
In the first option (the free version), you share the service with other subscribers. This is the correct solution for applications where the three indexes are not exceeded and no more than ten thousand documents stored in total. Be careful! In this first option there is no scaling because it is a shared service.
On the other hand, the second price level (Standard version) is recommended for productive environments with a large volume of information. This price level reserves you dedicated units for your own use. You can also generate a larger number of indexes that allow you to scale the service based on the performance it requires.
Azure Search scaling (at a Standard payment level) can be done in two directions: number of replicas or partitions.
Increasing the number of replicas allows you to launch more queries per second, so if the service receives too many requests, increasing the number of replicas is the optimal solution.
On the other hand, it is possible that the number of queries is not necessarily high, but that the number of documents contained in each index is. In this case, it would be convenient to scale adding new partitions (each partition offers 25 GB of storage).