Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft Azure Search

68 views

Published on

Build powerful search capabilities to your web, desktop and mobile applications.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Microsoft Azure Search

  1. 1. karthik-jambulingam@karthikjamkarthik-jambulingam.com Karthik Jambulingam
  2. 2. Hit Highlight Full Text Search Wildcard Search Synonyms Ranking
  3. 3. Facets Filters
  4. 4. Spelling Correction Scoped Search Type-ahead
  5. 5. Paging Sorting/ Relevance Facets
  6. 6. Geospatial
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Azure Search Components Desktop Mobile Web API Azure Search Service Data Source IndexerIndex Azure Storage
  11. 11. Supported Data Sources
  12. 12. 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
  13. 13. 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
  14. 14. 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);
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Suggester / Type-ahead { "name": "myshopproducts", "fields": [ . . . ], "suggesters": [ { "name": "product-name-suggester", "searchMode": "analyzingInfixMatching", "sourceFields": ["ProductName"] } ], "scoringProfiles": [ . . . ] }
  19. 19. Scalability
  20. 20. Pricing

×