Adding Search Capabilities to Your Business Applications ...

Adding Search Capabilities to Your Business Applications ...

Spark the future. May 4 8, 2015 Chicago, IL BRK2565 Adding Search Capabilities to Your Business Applications Using Microsoft Liam Cavanagh Azure Search Sr. Program Manager Azure Search @liamca What is Azure Search? A search-as-a-service solution allowing developers to incorporate great search experiences

into applications without managing infrastructure or needing to become search experts. Man Contacts Type Ahead Manfred Donaldson Manny Bickers Ben Manners Mary Mathers Accounts Managed Pro Corp.

Metro Manufacturing Menlo Park Outfitters Man Contacts Spelling Mistakes Manfred Donaldson Manny Bickers Ben Manners Mary Mathers Accounts Managed Pro Corp.

Metro Manufacturing Menlo Park Outfitters Sort by: Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State Washington (73) Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson

Eastside Department Store Seattle, WA (206) 555-0101 Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244 Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943 Betty Haines Metro Manufacturing Sort by:

Refine by: Type Contact (63) Account (21) Report (9) Activity (3)

State Washington (73) Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson Eastside Department Store Seattle, WA Facets & Filters (206) 555-0101

Facets Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244 Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943 Betty Haines Metro Manufacturing Sort by: Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State Washington (73)

Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson Eastside Department Store Seattle, WA (206) 555-0101 Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244

Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943 Betty Haines Metro Manufacturing Paging Sort by: Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State Washington (73) Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32)

Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson Eastside Department Store Seattle, WA (206) 555-0101 Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244 Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943

Betty Haines Metro Manufacturing Hit Highlighting Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State Washington (73) Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson Eastside Department Store

Seattle, WA (206) 555-0101 Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244 Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943 Betty Haines Metro Manufacturing Sorting Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State

Washington (73) Oregon (19) Idaho (8) Vertical Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) Manfred Donaldson Eastside Department Store Seattle, WA (206) 555-0101 Manny Bickers Cross-Country Riding Supplies Boise, ID (208) 555-3244

Donald Blanton Managed Pro Corp. Portland, OR (971) 555-8943 Betty Haines Metro Manufacturing Scoring & Index Tuning Geo-Spatial Search Refine by:

Type Contact (63) Account (21) Report (9) Activity (3) State Washington (73) Oregon (19) Idaho (8) Vertical

Manufacturing (43) Engineering (32) Food & beverage (17) Transportation (9) Real Estate (3) eCommerce Enable retail customers to find products through search and provide a great search experience with spelling corrections, suggestions and faceting Fine-tuned ranking models accommodating: Popularity and rating Inventory Margin, discounts and vendor promotions Support frequent index updates of price

and stock levels User Generated Content Examples of this kind of applications include: Knowledge base articles Sites and apps for recipes, restaurant reviews User-contributed news sites Social networks and forums Document sharing tools Support large volumes of text-heavy documents Business Applications

Enable users to navigate content using Search rather than menus and traditional access paths allowing: Quicker, natural and more efficient information retrieval Support for many different data types Single entry point to discover content Create a Search Service Use Azure portal or API to create a search service that will hold one or more search

indexes, defining: Geographic location Azure Subscription Scale of service Choose between Free (shared) and Standard Scaling a Search Service Capacity can dialed up and down at the search service level for standard services Added capacity will increase queries per second, number of documents uploaded/updated per second and total count of documents in the search service

Billing is connected to capacity Azure Search is designed to handle applications with hundreds of queries per second and millions of documents per search service Demo Creating a Search Service Liam Cavanagh What is a Search Index? Consists of fields and documents and is the container used to execute search queries against Similar in concept to a SQL table (but not to be confused with a SQL Index) Fields have properties such as

Searchable and Facetable Documents are uploaded to the Search index Indexing Data Options Push - using indexing API POST to /indexes//docs/index Up to 1000 actions per batch Actions can be upload, merge, delete, etc. WebJobs are great for regular execution Great for near real-time updates Pull - using indexers

Azure SQL DB and DocumentDB Change detection, deletion markers Point it at the data source, define policy, done Runs as often as every 5 min Demo Creating a Search Index Liam Cavanagh Key Search Features Search Text: Text as written by the user

used for full text search Faceting: Aggregate counts of results by categories Highlighting: Define fields used for hit highlighting Filter: Used to further limit results Sorting: Sort results by values in document fields instead of score Paging: Limit the number of results to be returned Projection: Limits results to a subset of the fields Demo Working with a Search Index

Liam Cavanagh Suggestions (Auto-Complete) Allows developers to provide type-ahead suggestions as the user types Provides mechanism for users to find content quickly Supports: Infix matching for suggestions Optional fuzzy matching enabling more flexibility for spelling mistakes Support for up to 100 suggestions per result No limit in length other than field limits No minimum length to number of characters used Ranking & Tuning a Search Index Scoring refers to the computation of a

search score for every item returned in search results Is an indicator of an item's relevance in context of the current search operation Higher score, means more relevancy and will boost item in search results Scoring can be customized using scoring profiles Scoring profiles allow you to boost items based business value or to improve user experience Scoring Profiles Scoring profile is part of index definition and can include:

Weighted fields: Assigns a relative weight to a field in the case where a search result found in one field is more important than another Freshness: Allows weighted boosting of new or old an item is using a datetime fields Magnitude: Enables boosting based on how high or low a numeric value is such as a product rating Distance: Provided boosting based on proximity or geographic location of item to that of a location specified by the users using a geo.distance fields Tag Boosting: Affects scoring based on common tags in Demo Scoring Liam Cavanagh Geo-Spatial Search Allows developer to store and query data that represents objects defined in

a geometric space including: Distance: Given a points stored within the search index and one passed by the user, calculate the distance Intersection: Determine if a given point stored in the index is within a given polygon supplied by the user Can be used in filters, sorting and Multilanguage Search Support for 50 languages Word breaking, stop words, inflections Lucene analyzers Well-known analyzer stack Stemming

Microsoft analyzers Same NLP stack used by parts of Office, Bing Lematization in many languages Provides an even deeper understanding of the languages (plurality, masculine, feminine, etc) Demo MultiLanguage Search Liam Cavanagh Cortana Extensibility (Speech Recognition) Cortana extensibility Available today in Windows Phone 8.1 Much more powerful in Windows 10 Search is a natural backend for

Cortana Take a bunch of words apply linguistics return relevant results Demo Cortana Search Liam Cavanagh Recommended Resources

Demos from Today (Github) Azure Search Course (MVA) MSDN Documentation Introduction to Azure Search Scenarios and Capabilities Azure Search Technical Overview Service REST API Get started with Azure Search in: .NET Java NodeJS Questions? Liam Cavanagh [email protected] @liamca Please evaluate this

session Your feedback is important to us! Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile 2015 Microsoft Corporation. All rights reserved.

Recently Viewed Presentations

  • State Space Representation - Petra Christian University

    State Space Representation - Petra Christian University

    State Space Representation Hany Ferdinando Dept. of Electrical Engineering Petra Christian University Overview Introduction State variable Signal Flow Graph (revisited) State Space (SS) matrix Transfer function from SS SS in Matlab Introduction State Space (SS) represents a dynamic system in...
  • Annotating Metagenomes Using the SEED

    Annotating Metagenomes Using the SEED

    NSF/EU Cyberinfrastructure Meeting, Washington, DC. Annotating Metagenomes Using the SEED Rob Edwards Department of Computer Sciences, San Diego State University
  • Course Applicability System

    Course Applicability System

    DARS degree audit and transfer articulation interactions: An Arizona Course Applicability System (CAS) Users' Presentation Kristy Jacobs North, ASU DARS Millie Torre, ASU DARS Amy Fountain, CAS Transfer Analyst Arizona Advising Roundup - February 22, 2002
  • Folie 1

    Folie 1

    2.5 Vektorrechner & Multimedia-Erweiterungen Peter Marwedel Informatik 12 TU Dortmund 2012/04/16 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen.
  • Lecture 1: Introduction

    Lecture 1: Introduction

    CIFS/SMB (Windows to Windows) NFS (Linux to Linux) Samba (Windows to Linux and Linux to Windows Web Web administration is determining what files to share and how to manage content. Our Linux systems use Apache's httpd Configuration via httpd.conf (and,...
  • Pandemic Influenza Triage Tools Educational Program Module II

    Pandemic Influenza Triage Tools Educational Program Module II

    : Awake, alert, with diaphoresis and increased work of breathing and some nasal flaring PITA Score Read the case carefully and then, using the PITA, start at the top of the algorithm and answer the question at each decision point.
  • A year After RDA Implementation - East Asian Lib

    A year After RDA Implementation - East Asian Lib

    The latest addition is RDA training resources, which is maintained by the CILIP-BL Committee on RDA and which provides links to RDA training from Cambridge University Library, CILIP Cataloguing & Indexing Group, the Australian Committee on Cataloguing, rdacake (RDA CAnadian...
  • Probabilistic Inference

    Probabilistic Inference

    Hidden state variables. Observed variables. P(O. t |X t) called the observation model (or sensor model) Filtering. Name comes from signal processing. Goal: Compute the probability distribution over . current state given observations up to this point. X. 0 X....