1 of 13

Azure Search

Manh Hung Tran - Filip Drgoň - Jiří Vahala

2 of 13

What is Azure Search?

  • Search-as-a-Service solution
  • Based on Elastic Search
  • Provides complex indexing & querying capabilities
  • No infrastructure requirements & complex algorithms
  • Part of Microsoft Azure Cloud Infrasturcture-as-a-service platform
  • Usable through API, C# SDK or a web interface

3 of 13

What’s so great about Azure Search?

  • Faceted Searching
    • Searching using multiple complicated filters
  • Hit Highlighting

4 of 13

What’s so great about Azure Search? (2)

  • Search Recommendations
    • “Search-as-you-type” query
    • Returns matching text in allowed fields
  • Scoring Profiles
    • Scoring by data freshness
    • Scoring by proximity
    • Scoring by relevancy

5 of 13

What’s so great about Azure Search? (3)

  • Language processing
    • Word variations, verb tenses, singular/plural
    • Synonyms, forgiveness, word breaking
    • 56+ languages supported, and growing
  • Geospatial support
    • Proximity searches
    • Geofenced searches

6 of 13

What’s so great about Azure Search? (4)

  • scalability
  • world-wide location support
    • 8 datacenters around the world so far
      • West/North Europe
      • North/South/East/West US
      • East/Southeast Asia
    • great for global companies
    • better pings, based on client location

7 of 13

What’s so great(!) about Azure Search? (4)

  • Bing support

8 of 13

What is happening in the background?

9 of 13

Azure Search Indexes

  • document is a single unit of searchable data
  • index is basically a table, documents are roughly rows
  • Field attributes
    • Key - string, unique ID, only one per document
    • Retrievable - field as search result
    • Filterable - field for filtering usage
    • Sortable - sorting documents
    • Facetable - categories for filtering
    • Searchable - full-text search
  • Data types
    • String, Collection(String), Boolean, Int32, Int64, Double, DateTimeOffset, GeographyPoint

10 of 13

Azure Search Indexes (2)

  • index creation establishes schema and metadata
  • https://docs.microsoft.com/en-us/rest/api/searchservice/create-index
  • populating index is separated operation
    • Azure Indexer - push and pull possibilities
      • pull
        • crawls data and creates documents
        • incremental changes on schedule
        • data source needed
      • push
        • invoking Indexer on-demand if fast indexation is needed
        • data batches

11 of 13

Azure Search Indexes (3)

12 of 13

Demo

13 of 13

Relevant stuff