This article compares technology choices for search data stores in Azure. A search data store is used to create and store specialized indexes for performing searches on free-form text. The text that is indexed may reside in a separate data store, such as blob storage. An application submits a query to the search data store, and the result is a list of matching documents. For more information about this scenario, see Processing free-form text for search.
What are your options when choosing a search data store?
In Azure, all of the following data stores will meet the core requirements for search against free-form text data by providing a search index:
For search scenarios, begin choosing the appropriate search data store for your needs by answering these questions:
Do you want a managed service rather than managing your own servers?
Can you specify your index schema at design time? If not, choose an option that supports updateable schemas.
Do you need an index only for full-text search, or do you also need rapid aggregation of numeric data and other analytics? If you need functionality beyond full-text search, consider options that support additional analytics.
Do you need a search index for Log Analytics, with support for log collection, aggregation, and visualizations on indexed data? If so, consider Elasticsearch, which is part of a Log Analytics stack.
Do you need to index data in common document formats such as PDF, Word, PowerPoint, and Excel? If yes, choose an option that provides document indexers.
Does your database have specific security needs? If yes, consider the security features listed below.
Capability matrix
The following tables summarize the key differences in capabilities.
General capabilities
Capability
Cognitive Search
Elasticsearch
SQL Database
Is managed service
Yes
No
Yes
REST API
Yes
Yes
No
Programmability
.NET, Java, Python, JavaScript
Java
T-SQL
Document indexers for common file types (PDF, DOCX, TXT, and so on)
Yes
No
No
Manageability capabilities
Capability
Cognitive Search
Elasticsearch
SQL Database
Updateable schema
Yes
Yes
Yes
Supports scale out
Yes
Yes
No
Analytic workload capabilities
Capability
Cognitive Search
Elasticsearch
SQL Database
Supports analytics beyond full text search
No
Yes
Yes
Part of a Log Analytics stack
No
Yes (ELK)
No
Supports semantic search
Yes (find similar documents only)
Yes
Yes
Security capabilities
Capability
Cognitive Search
Elasticsearch
SQL Database
Row-level security
Partial (requires application query to filter by group ID)
Partial (requires application query to filter by group ID)
Yes
Transparent data encryption
No
No
Yes
Restrict access to specific IP addresses
Yes
Yes
Yes
Restrict access to allow virtual network access only
Yes
Yes
Yes
Active Directory authentication (integrated authentication)
No
No
Yes
Contributors
This article is maintained by Microsoft. It was originally written by the following contributors.
Écrivez des requêtes efficaces, créez des stratégies d’indexation, gérez et approvisionnez des ressources dans l’API SQL et le Kit de développement logiciel (SDK) avec Microsoft Azure Cosmos DB.