Anton Boyko Microsoft azure mvp, mcp Microsoft Devops TE

Slides:



Advertisements
Similar presentations
U.S. Government Language Requirements U.S. Government Language Requirements 7 September 2000 Everette Jordan Department of Defense
Advertisements

Paragon Software Group presents PenReader. Paragon Software Group – International Holding Founded in 1994 Location Germany (HQ), NL, Russia, USA, Japan.
Yemelia International Language Services Translations Translations Translations Interpreting InterpretingInterpreting Multi-lingual IT Presentations Multi-lingual.
Adaptxt® Enhanced Keyboards for Smartphones and Tablets: CUSTOM-MADE FOR OEM SUCCESS KeyPoint Technologies February 25, 2013.
Recording Audio with Audacity Workshop by Dr. Luba Iskold Fulvia Alderiso and Kellen Mickley August 2007 Dept. of Languages, Literatures and Cultures.
Connect with life Nauzad Kapadia Quartz Systems
Ideal Lingua Translations Ideal Lingua Translations is a leading Translation Services Provider which offers:  Highest Quality Language Solutions 
 They speak German  8.47 million of people live there.
Clients for XProtect VMS What’s new presentation
English Language Proficiency 2011 Census Analysis Tristan Browne.
7/16/2002JCDL 2002, Ray Larson The “Entry Vocabulary Index” Approach to Multilingual Search Ray R. Larson, Fredric Gey, Aitao Chen, Michael Buckland University.
INTERNATIONAL MARKETING MANAGEMENT SESSION 7: CUSTOMER BEHAVIOR AND MARKET SEGMENTATION 1.
1 Linguistic Resources needed by Nuance Jan Odijk Cocosda/Write Workshop.
INTERNATIONAL MARKETING MANAGEMENT SESSION 8: CUSTOMER BEHAVIOR 1.
Linkkservicesworld LTD. SERVICES Translation English / Spanish / English Interpretation/ Full Professional Medical Support / Editing / Proofreading.
Windows ® MultiPoint™ Server One computer. Multiple users. A familiar Windows experience. James Duffus, Group Program Manager, MultiPoint
What's on the Web? The Web as a Linguistic Corpus Adam Kilgarriff Lexical Computing Ltd University of Leeds.
Collecting Primary Language Information LINKED-DISC - provincial database system for early childhood intervention Services Herb Chan.
In the knowledge society of the 21st century, language competence and inter-cultural understanding are not optional extras, they are an essential part.
UNLIMITED. SIMULTANEOUS. NO CHECK-OUT. eREFERENCE.
Tools for Historical corpus research, and a corpus of Latin Barbara McGillivray Oxford University Press Adam Kilgarriff Lexical Computing Ltd.
Advanced Google Searching June Liebert Director and Assistant Professor The John Marshall Law School “Do no harm” – the Google mantra.
Survey on university students choosing a language course as an extra-curricular activity DIUS & AULC Department for Innovation Universities and Skills.
4th project meeting 27-29/05/2013, Budapest, Hungary FP 7-INFRASTRUCTURES programme agINFRA agINFRA A data infrastructure for agriculture.
Comparable Corpora BootCaT (CCBC) Adam Kilgarriff, Avinesh PVS, Jan Pomikalek Lexical Computing Ltd.
IBM Maximo Asset Management © 2007 IBM Corporation Tivoli Technical Exchange Calls Aug 31, Maximo - Multi-Language Capabilities Ritsuko Beuchert.
Software Internationalisation — Single-Byte Scripts Guy Lacoursière Software Globalisation Consultant.
Module 20 Working with Full-Text Indexes and Queries.
Defence School of Languages, UK BILC NATO Conference Prague 2012.
1 Translate and Translator Toolkit Universally accessible information through translation Jeff Chin Product Manager Michael Galvez Product Manager.
DLF Forum Nov OCLC Grid Services Roy Tennant Senior Program Officer OCLC Research EVERY CONNECTION has a starting point.
Comparable Corpora BootCaT (CCBC) (or: In Praise of BootCaT) Adam Kilgarriff, Jan Pomikalek, Avinesh PVS Lexical Computing Ltd. Work Supported by EU FP7.
CS240A Notes on DB Extenders a.k.a. Data Blades, Cartridge, Snapins Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
Video Podcast Localization Managing the Efficient Production of 1,000 Podcasts into a Variety of Languages.
Why Study Languages Produced by the Subject Centre for Languages, Linguistics and Area Studies …When Everyone Speaks English?
© 2012 IBM Corporation Introducing IBM Cognos Insight.
Look of the new IPPOG Resources database website Proposal by BG + HP based on structure proposed (BG+RL+HP) 2/11/2015 Following and evolving from the discussion.
Mango Languages is a language learning database available for current Bow Valley College students, staff and faculty.
LanguagesLanguages. What is language? A human system of communication that uses arbitrary signals such as voice sounds, gestures, or written symbols.
F ACTORS TO G OOGLE A D S ENSE A PPROVAL By: Aarif Habeeb.
The next 10 years of web globalization John Yunker Byte Level Research.
OLPC Localization Strategy Proposal Edward Cherlin Earth Treasury.
Tel: Fax: P.O. Box: 22392, Dubai - UAE
“ Your Linguistic Needs... … Our Knowledge ”. Objectives CONFIDENTIAL© Copyright 2010 Valuepoint Knowledgeworks Pvt Ltd 2 Why VPKW ? Global Operations.
EUROPEAN DAY OF LANGUAGES. The European Year of Languages 2001 was organised by the Council of Europe and the European Union. Its activities celebrated.
Pass Microsoft MCSE Exam MCSE: Business Intelligence
Advanced Directives: What to Assess with Seniors
SQLSaturday Dnipro 2016 Azure Search Anton Boyko
Mitubishi Chemical Holdings Group
Localization and Globalization in Windows Runtime Apps
Profiling Web Archive Coverage for Top-Level Domain & Content Language
Sales Presenter Available now
We Translate… You Market!!
Sales Presenter Available now
Oracle Supplier Management Solution Product Availability
Mitubishi Chemical Holdings Group
Searching for Rio: Azure Search, NBC Sports, and the Olympics
Digital Asset Management Part 11: Access

A Latin corpus for Sketch Engine
Definition of Health WHO approved translation
Microsoft Connect /25/2019 6:06 AM
Mitubishi Chemical Holdings Group
Part of Speech Tagging with Neural Architecture Search
Sales Presenter Available now Standard v Slim
Bryan Soltis – Kentico Technical Evangelist
Intro to Azure Search Julie Smith 2019.

Intro to Azure Search Julie Smith 2019.
Presentation transcript:

Anton Boyko aka @BoykoAnt Microsoft azure mvp, mcp Microsoft Devops TE Azure Search Anton Boyko aka @BoykoAnt Microsoft azure mvp, mcp Microsoft Devops TE

If you have any questions – interrupt and ask.

You consider yourself a: Web developer Mobile developer IT Pro Database engineer

What? A fully-managed search solution that allows developers to enable search experiences in applications. Embed a sophisticated search experience into web and mobile applications without having to worry about the complexities of full- text search and without having to deploy, maintain or manage any infrastructure.

Why? Users find search as a natural, low friction way to interact with applications that manage lots of data Web search engines have set the bar high for search Instant results, auto-complete, hit highlighting, great ranking, linguistics Search is hard and rarely a core expertise area From infrastructure standpoint: availability, durability, scale, operations From the functionality standpoint: ranking, geo-spatial, input handling

Azure Search functionality Simple HTTP/JSON API for creating indexes, pushing documents, searching Keyword search with user-friendly operators (+, -, *, “”, etc.) Hit highlighting Faceting (histograms over ranges, typically used in catalog browsing) Suggestions (auto-complete) Rich structured queries (filter, select, sort) that combines with search Scoring profiles to model search result relevance Geo-spatial support integrated in filtering, sorting and ranking

Language support Arabic Armenian Bangla Basque Bulgarian Catalan Chinese Simplified Chinese Traditional Croatian Czech Danish Dutch English Estonian Finnish French Galician German Greek Gujarati Hebrew Hindi Hungarian Icelandic Indonesian (Bahasa) Irish Italian Japanese Kannada Korean Latvian Lithuanian Malayalam Malay (Latin) Marathi Norwegian Persian Polish Portuguese (Brazil) Portuguese (Portugal) Punjabi Romanian Russian Serbian (Cyrillic) Serbian (Latin) Slovak Slovenian Spanish Swedish Tamil Telugu Thai Turkish Ukrainian Urdu Vietnamese

API

Managing indexes and documents

Define index { "name": "hotels", "fields": [ { "name": "hotelId", "type": "Edm.String", "key": true, "searchable": false, "sortable": false, "facetable": false }, { "name": "baseRate", "type": "Edm.Double" }, { "name": "description", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false }, { "name": "description_fr", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene" }, { "name": "hotelName", "type": "Edm.String", "facetable": false }, { "name": "category", "type": "Edm.String" }, { "name": "tags", "type": "Collection(Edm.String)" }, { "name": "parkingIncluded", "type": "Edm.Boolean", "sortable": false }, { "name": "smokingAllowed", "type": "Edm.Boolean", "sortable": false }, { "name": "lastRenovationDate", "type": "Edm.DateTimeOffset" }, { "name": "rating", "type": "Edm.Int32" }, { "name": "location", "type": "Edm.GeographyPoint" } ] }

Indexing data { "value" : [ { "@search.action" : "upload", … }, { "@search.action" : "merge", … }, { "@search.action" : "mergeOrUpdate", … }, { "@search.action" : "delete", … } ] }

Upload document { "@search.action": "upload", "hotelId": "1", "baseRate": 199.0, "description": "Best hotel in town", "description_fr": "Meilleur hôtel en ville", "hotelName": "Fancy Stay", "category": "Luxury", "tags": ["pool", "view", "wifi", "concierge"], "parkingIncluded": false, "smokingAllowed": false, "lastRenovationDate": "2010-06-27T00:00:00Z", "rating": 5, "location": { "type": "Point", "coordinates": [-122.131577, 47.678581] } }

Merge or upload document { "@search.action": "mergeOrUpload", "hotelId": "3", "baseRate": 129.99, "description": "Close to town hall and the river" }

Delete document { "@search.action": "delete", "hotelId": "6" }

Querying

Search GET https://[service name].search.windows.net /indexes/hotels/docs?api-version=2015-02-28 &search=budget&$select=hotelName POST https://[service name].search.windows.net /indexes/hotels/docs/search?api-version=2015-02-28 { "search": "budget", "select": "hotelName" }

Search GET https://[service name].search.windows.net /indexes/hotels/docs?api-version=2015-02-28 &search=*&$top=2&$orderby=lastRenovationDate desc&$select=hotelName,lastRenovationDate POST https://[service name].search.windows.net /indexes/hotels/docs/search?api-version=2015-02-28 { "search": "*", "orderby": "lastRenovationDate desc", "select": "hotelName,lastRenovationDate", "top": 2 }

Pagination GET /indexes/hotels/docs?api-version=2015-02-28 &search=budget&$select=hotelName & $top=15 & $skip=0 & $count=true { "values" : [ … ], "@odata.count" : 42 }

Facets POST /indexes/hotels/docs/search?api-version=2015-02-28 { "search": "test", "facets": [ "tags", "baseRate,values:80|150|220" ], "filter": "rating eq 3 and category eq 'Motel'" } "@search.facets": { "baseRate": [ { "count": 0, "to": 80 }, { "count": 10, "from": 80, "to": 150 }, { "count": 15, "from": 150, "to": 220 }, { "count": 4, "from": 220 } ]

Controlling relevance

Controlling relevance Relevant results Irrelevant results Returned results

Scoring profiles { "name": "hotels", "fields": [ … ], "scoringProfiles" : [ … ] }

Text weights scoring profile { "name": "boostName", "text": { "weights": { "hotelName": 10, "tags": 5, "description": 2, "description_fr": 2 }

Scoring functions - Freshness should be used when you want to boost by how new or old an item is. This function can only be used with datetime fields (edm.DataTimeOffset). Note the boostingDuration attribute is used only with the freshness function. - Magnitude should be used when you want to boost based on how high or low a numeric value is. Scenarios that call for this function include boosting by profit margin, highest price, lowest price, or a count of downloads. This function can only be used with double and integer fields. - Distance should be used when you want to boost by proximity or geographic location. This function can only be used with Edm.GeographyPoint fields. - Tag should be used when you want to boost by tags in common between documents and search queries. This function can only be used with Edm.String and Collection(Edm.String) fields.

Functions general properties { "name": "boostName", "function": { "type": "magnitude | freshness | distance | tag", "boost": # (positive number used as multiplier for raw score != 1), "fieldName": "...", "interpolation": "constant | linear | quadratic | logarithmic" }

Freshness function { "name": "boostName", "function": { … , "freshness": { "boostingDuration": "..." (value representing timespan over which boosting occurs) }

Magnitude function { "name": "boostName", "function": { … , "magnitude": { "boostingRangeStart": #, "boostingRangeEnd": #, "constantBoostBeyondRange": true | false }

Distance function { "name": "boostName", "function": { … , "distance": { "referencePointParameter": " … ", "boostingDistance": # (the distance in kilometers from the reference location where the boosting range ends) }

Tags function { "name": "boostName", "function": { … , "tags": { "tagsParameter": " … " (parameter to be passed in queries to specify a list of tags to compare against target field) }

Scoring functions - aggregation { "name": "hotels", "fields": [ … ], "scoringProfiles" : [ … ], "functionAggregation": "sum | average | minimum | maximum | firstMatching" }

Integration

Azure Search data sources SQL Server Azure SQL (aka SQL Database) Document DB Azure Blob Storage Azure Table Storage

Real life example

“Time Machine” app architecture API Topic Sub Sub Worker Worker Search Storage

Demo

Anton Boyko Microsoft Azure MVP, MCP Microsoft DevOps TE boyko.ant@live.com @BoykoAnt facebook.com/boyko.ant linkedin.com/in/boykoant