adding azuresearch

42

Upload: evan-boyle

Post on 18-Aug-2015

15 views

Category:

Technology


0 download

TRANSCRIPT

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Evan BoyleSoftware EngineerAzure Search

Adding Azure Search to your mobile application

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Context Loading data Demos & Code Linguistics

Roadmap

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Search is a primary interaction point

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

User expectations are extremely high

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Open source solutions

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Enter Azure SearchFully ManagedWe wake up at 3am so you don’t have to99.9% SLAAvailable in 11 regions and growing (latest additions are in Japan, Brazil, and Australia)

Powerful AbstractionsSearch engines are complicated and we’ve tried to make them easier to understandTune and rank your results in a way that makes senseFull power of Microsoft Office NLP stack so your users find what they want in over 50 languagesEasy integration with your favorite data sources

ScalableThink in terms of documents rather than VMs & clustersPay for the capacity need as your app growsPrototype on our free tier

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Type Ahead

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

FacetsFacets

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Hit Highlighting

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Spelling Mistakes

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Geo-Spatial Search

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Paging

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Sorting & Scoring

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Azure Search ConceptsSearch ServiceUnit of deployment, isolation, and billingContains indexes, indexers, and data sourcesComes in two SKUs: Free (shared resources), and Standard (dedicated resources)Created through the Azure Preview Portal, or programmatically via the Management REST API

IndexCollection of documents that all share a common schema (like a table in a SQL database)Can include custom scoring profiles to affect ranking behavior of queriesCreated through the Azure Preview Portal, or programmatically via the Service REST API or .NET SDK

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

GeoNames

Database of geological features across US• Latitude • Longitude• Name• Altitude• Feature class

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Loading your data

PushUse the REST API or .NET client to push JSON documentsWrite a script to do this once, or on a schedule using a web job

PullCreate an indexer for one of our supported data sourcesSet up a schedule to keep things in syncCreated through the Azure Preview Portal, or programmatically via the Service REST API or .NET SDK

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Try it out!

Azure Search free tierHost up to 10,000 documents in up to three indexeshttps://portal.azure.com

Azure TryAppServiceOne hour freeNo Azure Subscription, no credit card requiredhttps://tryappservice.azure.com/

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Search architecture

Middle tier

Hit search service directly

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Executing a query .NET

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Executing a query REST

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Suggestions

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Advanced queries

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Geo search

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Scoring profiles

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Windows Phone

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Linguistics

What is an analyzer?

Input:

"Well!" thought Alice to herself "After such a fall as this, I shall think nothing of tumbling down-stairs!“

Standard analyzer output:

well thought alice to herself after sucha fall as this i shall think

nothing of tumbling down stairs

Lucene English analyzer

Input:

"Well!" thought Alice to herself "After such a fall as this, I shall think nothing of tumbling down-stairs!“

Output:well thought alic to herself after sucha fall as this i shall think

noth of tumbl down stair

Microsoft Natural Language Processing (NLP)technology

Differentiating features:Developed for:

- Support for 50 languages

- Morphological analysis

- Spelling variations

- Entity recognition

Microsoft English analyzer

Input:

"Well!" thought Alice to herself "After such a fall as this, I shall think nothing of tumbling down-stairs!“

Output:well think alice to herself after sucha fall as this i shall think

nothing of tumble down stair

Stemming vs. Lemmatization

Stemmed Lemmatized

think think think

thinks think think

thinking think think

thought though think

tumble tumbl tumble

tumbles tumbl tumble

tumbling tumbl tumble

tumbled tumbl tumble

nothing noth nothing

Configuring language analyzers

REST API.NET SDK

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Questions?

MICROSOFT CONFIDENT IAL – INTERNAL ONLY

Related ContentAdditional ResourcesDocumentation: https://azure.microsoft.com/documentation/services/search/GitHub Repository: https://github.com/AzureSearchREST API Reference: https://msdn.microsoft.com/library/azure/dn798935.aspx.NET SDK Reference: https://msdn.microsoft.com/library/azure/dn951165.aspxNYC Jobs Demo: http://azjobsdemo.azurewebsites.net/Try App Service: https://tryappservice.azure.com/Trails & Cortana App: https://github.com/MicrosoftLearning/AzureSearch-MVA