This document summarizes key features and components of Azure Search, a fully-managed cloud search service. It outlines Azure Search's rich search capabilities including full text search, facets, filters, spelling correction, type-ahead suggestions and geospatial search. It also describes how to connect various data sources, configure indexes and indexers, and perform search queries. Development platforms and pricing models are also briefly mentioned.
9. Search Experience Is Important
Visitors abandon a site due to
poor search experience
Customers like to discover
products through search
Revenue driven by site search
10. Search Experience Is Important
Discover more
Buy more
Self serve with ease
Serve customers better
Do more
Highly productive
Higher customer satisfaction
More conversion
Less operation cost
12. Azure Search
Fully-managed service
Standup and run quickly
Highly available 99.9% SLA
High performance / reduced latency
Analytics Monitoring and Reporting
Rich search capabilities
Apache Lucene framework
Microsoft Natural language processor
Simplicity and Flexibility
Various data sources
Portal, REST API, SDKs
15. Development Platforms
Central management
Setup resources
Prototype
Search Explorer
Service administration
Index management operations
Document operations
Indexer Operations
Index management operations
Document operations
Indexer Operations
17. Azure Search Service
Search EngineQuery Parsers
Application
Interface
AnalyzersIntent
OData
Expression
(Query)
Query
Terms
Analyzed
Tokens
Results
Search Processing
Full (Lucene)
Or
Simple
Lexical Analysis
Char Filters
Word Break
Lower Case
Ascii folding
Wildcard
Diacritics
Custom Analyzers
Document Retrieval
Scoring
.NET SDK
Or
REST API
18. Search Parameters
SearchIndexClient indexClient = new SearchIndexClient("SearchServiceName", "IndexName", new SearchCredentials("Api-key"));
var searchParameters = new SearchParameters()
{
QueryType = QueryType.Full, // or Simple
SearchFields = new[] { "Category", "description", "Color", "ListPrice" },
Filter = "(Color eq 'Black' or search.in(Size, '52,48')) and Suppliers/any(s: s eq '103|Orange Inc')",
Facets = new[] { "Category", "Color", "Size" },
IncludeTotalResultCount = true,
HighlightPreTag = "<b>",
HighlightPostTag = "</b>",
HighlightFields = new[] { "description" },
ScoringProfile = "DefaultRelevancy",
OrderBy = new[] { "ListPrice" },
Top = 10,
Skip = 30
};
var searchResults = indexClient.Documents.Search<ProductSearchResult>("aluminium alloy", searchParameters);
19. Supported Data Types
Edm.String
Collection(Edm.String)
Edm.Boolean
Edm.DateTimeOffset
Edm.GeographyPoint
EDM Data Types
Edm.Boolean
Edm.Int32
Edm.Int64
Edm.Double
21. Index Builder
Keep it separate
Automate
Deploy ahead of time
No swap, stage index
Use portal for drop
Azure Search Service
Data
Source
IndexerIndex
Index Builder
2 3 1
22. Incremental Indexing
ISearchIndexClient indexClient =
serviceClient.Indexes.GetClient("myshopproducts");
var actions =
new IndexAction<Product>[]
{
IndexAction.Upload(
new Product()
{
ProductID = "709",
ListPrice = 199.0,
Description = "Combination .
Category = "Socks",
ModelName = "Mountain Bike Socks",
...
}),
IndexAction.Upload(
new Product()
{
...
var batch = IndexBatch.New(actions);
indexClient.Documents.Index(batch);
Azure Search Service
Data
Source
IndexerIndex
The Process
Incremental Update
Azure Storage