Slide 1

Slide 1 text

Working with Azure Cognitive Search Building Enterprise Level search System Jalpesh Vadgama

Slide 2

Slide 2 text

About me • More than 16 years of experience in Web Development, Cloud Solutions and Enterprise Grade Applications. • Co-Founder of FutureStack Solution https://www.futurestacksolution.com • Awarded Microsoft MVP 11 times. Currently MVP in Visual Studio and Development Technologies. • Active Member of Ahmedabad User Group. • Frequently writes blog about Micorosft.NET Technologies and related technologies at https://www.dotnetjalps.com • Software Architect, Blogger and Mentor. • Create videos at https://tinyurl.com/codewithjv

Slide 3

Slide 3 text

How important the search is? Search plays an integral roles in the live of many of us, Some time we don’t realize that. A purchase on the Amazon or any market place start with product search. A new vacation booking often begins with search. The answer to any question is just a way search away When you need to find something on internet first thing you do is the search about query.

Slide 4

Slide 4 text

What is Azure Cognitive Search? A platform as service solution allowing developers to incorporate great search experience into applications without managing infrastructure or needing to become search experts. Fully Managed search as service to reduce complexity and scale easily. Built-in AI capabilities including OCR, key phrase extraction, and named entity recognition to unlock insights. Semantic search capability powered by deep learning models that understand user intent to surface and rank the most relevant search results

Slide 5

Slide 5 text

What is typical search?

Slide 6

Slide 6 text

Scenarios or place where we can integrate the Azure Search Ecommerce Online Retails User Generated Content(Blog, Pictures) or Social content(Twitter) Line of business Applications.

Slide 7

Slide 7 text

Where it’s going to fit? • Architecturally, a search service sits between the external data stores that contain your un-indexed data, and your client app that sends query requests to a search index and handles the response.

Slide 8

Slide 8 text

Azure cognitive search Azure search with AI

Slide 9

Slide 9 text

Inside a search service • There are two main primary workloads there • Indexing • Querying

Slide 10

Slide 10 text

Indexing • Indexing is an intake process that loads content into your search service and makes it searchable. Internally, inbound text is processed into tokens and stored in inverted indexes for fast scans. You can upload JSON documents, or use an indexer to serialize your data into JSON. • AI enrichment through cognitive skills is an extension of indexing. If your content needs image or language analysis before it can be indexed, AI enrichment can extract text embedded in application files, translate text, and also infer text and structure from non-text files by analyzing the content.

Slide 11

Slide 11 text

Querying Querying can happen once an index is populated with searchable text, when your client app sends query requests to a search service and handles responses. All query execution is over a search index that you control. Semantic search is an extension of query execution. It adds language understanding to search results processing, promoting the most semantically relevant results to the top.

Slide 12

Slide 12 text

What kind of data it can index CUSTOM- REST AZURE SQL DATABASE AZURE DOCUMENTDB AZURE BLOB STORAGE

Slide 13

Slide 13 text

Supported document format All the Microsoft Office Format- Docx/Doc, XLSX/XLS,PTTX/PPT, MSG PDF HTML XML ZIP EML Plain text files JSON

Slide 14

Slide 14 text

Azure cognitive search features Indexing Features Supports multiple data sources Linguistic Analyzers from Lucene or Microsoft are used to intelligently handle language-specific linguistics including verb tenses, gender, irregular plural nouns (for example, 'mouse' vs. 'mice'), word de-compounding, word-breaking (for languages with no spaces), and more. AI enrichment and knowledge mining AI enrichment refers to embedded image and natural language processing in an indexer pipeline that extracts text and information from content that can't otherwise be indexed for full text search. Knowledge store is persistent storage of enriched content, intended for non-search scenarios like knowledge mining and data science processing. A knowledge store is defined in a skillset, but created in Azure Storage as objects or tabular rowsets.

Slide 15

Slide 15 text

Azure cognitive search features • Query and user experience • Full-text search is a primary use case for most search-based apps. Queries can be formulated using a supported syntax. • Simple query syntax provides logical operators, phrase search operators, suffix operators, precedence operators. • Full Lucene query syntax includes all operations in simple syntax, with extensions for fuzzy search, proximity search, term boosting, and regular expressions. • Geospatial functions filter over and match on geographic coordinates. You can match on distance or by inclusion in a polygon shape. • User experience features like AutoComplete, Search Suggestions, Synonyms, Spelling Correction, Sorting, Paging makes it a great searchable content.

Slide 16

Slide 16 text

DEMO • Creating an azure search Service

Slide 17

Slide 17 text

Cool Demos from Azure Search(NYC Job Demo) • Azure Cognitive Search - Job Portal Demo (azjobsdemo.azurewebsites.net) • An ASP.NET app with facets, filters, details, geo-search (map controls). • https://github.com/Azure-Samples/search- dotnet-asp-net-mvc-jobs

Slide 18

Slide 18 text

Cool Demos from Azure Search(JFK Files Demo) • JFK Files (jfk-demo-2019.azurewebsites.net) • In 2017, more than 34,000 pages related to the JFK assassination were released. With help of Microsoft Azure Search it is now searchable and it combines lots of handwritten notes, photos and document • https://github.com/Microsoft/AzureSearch_JFK _Files

Slide 19

Slide 19 text

Cool Demos from Azure Search(Web app for a fictitious online retailer, "Terra") • https://brave-meadow- 0f59c9b1e.1.azurestaticapps.net/

Slide 20

Slide 20 text

Any questions?

Slide 21

Slide 21 text

Ways to contact me? • Twitter - @jalpesh • YouTube – https://tinyurl.com/codewithjv • Blog – https://www.dotnetjalps.com • Email: [email protected] • Linked In - https://www.linkedin.com/in/jalpeshvadgama/

Slide 22

Slide 22 text

Thank you