SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Search
Cloud powered
LIVIU MAZILU
RADU PINTILIE
April 25, 2015Cloud powered search
© EXPERT NETWORK
CODECAMP
Challenges in distributed applications
SQL Azure Federation
HDInsight
DocumentDB
Previous subjects
April 25, 2015Cloud powered search
© EXPERT NETWORK
Azure Search
The need for search
Search explained
Development
Case Scenarios
Agenda
April 25, 2015Cloud powered search
© EXPERT NETWORK
The need for search
Why do we search for data?
How do we store it to search efficiently?
What’s important?
April 25, 2015Cloud powered search
© EXPERT NETWORK
Is this a search engine?
where [field] like “%codecamp%”
April 25, 2015Cloud powered search
© EXPERT NETWORK
WHAT IS A SEARCH ENGINE?
Efficient indexing of data
On all fields / combination of fields
Analyzing data
Text Search
Tokenizing
Stemming
Filtering
Understanding locations
Relevance scoring
April 25, 2015Cloud powered search
© EXPERT NETWORK
Lucene
Document: collection of fields
Field: string based key-value pair
Collection: set of documents
Inverted index: a term can list the number
of documents it contains
Score: relevancy for each document
matching the query
April 25, 2015Cloud powered search
© EXPERT NETWORK
How searching works
Id Title UserId ViewCount Tags
1 Controller Action ambiguity
even with [HttpPost]
decoration? (ASP.NET MVC4)
5 352 asp.net asp.net-mvc
asp.net-mvc-4 f#
2 Why can't I use a scrollwheel
on a webpage?
6 109 c# javascript asp.net
asp.net-mvc-4 twitter-
bootstrap-3
3 Access session variable of one
site in another"
7 78 asp.net .net
4 Check if SIM card exists 5 209 c# windows-phone-8
April 25, 2015Cloud powered search
© EXPERT NETWORK
Inverted index
How searching works
Title
Access session variable of one site in another" 3
Check if SIM card exists 4
Controller Action ambiguity even with [HttpPost] decoration? (ASP.NET
MVC4)
1
Why can't I use a scrollwheel on a webpage? 2
UserID
5 1, 4
6 2
7 3
ViewCount
78 3
109 2
209 4
352 1
April 25, 2015Cloud powered search
© EXPERT NETWORK
Inverted index
How searching works
Title
Access session variable of one site in another" 3
Check if SIM card exists 4
Controller Action ambiguity even with [HttpPost] decoration? (ASP.NET
MVC4)
1
Why can't I use a scrollwheel on a webpage? 2
UserID
5 1, 4
6 2
7 3
ViewCount
78 3
109 2
209 4
352 1
Query: UserID = 5
April 25, 2015Cloud powered search
© EXPERT NETWORK
Full text search
Id Tags
1 asp.net asp.net-mvc asp.net-mvc-
4 f#
2 c# javascript asp.net asp.net-mvc-
4 twitter-bootstrap-3
3 asp.net .net
4 c# windows-phone-8
How searching works
Term Doc
.net 3
asp.net 1, 2, 3
asp.net-mvc-4 1, 2
c# 2, 4
f# 1
javascript 2
mvc 1
twitter-bootstrap-3 2
windows-phone-8 4
April 25, 2015Cloud powered search
© EXPERT NETWORK
Full text search
Id Tags
1 asp.net asp.net-mvc asp.net-mvc-
4 f#
2 c# javascript asp.net asp.net-mvc-
4 twitter-bootstrap-3
3 asp.net .net
4 c# windows-phone-8
How searching works
Term Doc
.net 3
asp.net 1, 2, 3
asp.net-mvc-4 1, 2
c# 2, 4
f# 1
javascript 2
mvc 1
twitter-bootstrap-3 2
windows-phone-8 4
Query: “javascript” in Tags
April 25, 2015Cloud powered search
© EXPERT NETWORK
Full text search
Id Tags
1 asp.net asp.net-mvc asp.net-mvc-
4 f#
2 c# javascript asp.net asp.net-mvc-
4 twitter-bootstrap-3
3 asp.net .net
4 c# windows-phone-8
How searching works
Term Doc
.net 3
asp.net 1, 2, 3
asp.net-mvc-4 1, 2
c# 2, 4
f# 1
javascript 2
mvc 1
twitter-bootstrap-3 2
windows-phone-8 4
Query: “asp.net” in Tags
April 25, 2015Cloud powered search
© EXPERT NETWORK
Auto-completion
Uses
April 25, 2015Cloud powered search
© EXPERT NETWORK
Auto-correction
Phrasing
Iframe security – Security in an Iframe
Word-level distance
grey/gray
color/colour
Uses
April 25, 2015Cloud powered search
© EXPERT NETWORK
Elasticsearch
Distributed: aggregated results of search performed on multiple
shards/indices
Schema Less: is document oriented. Supports JSON format
RESTful: supports REST interface
Faceted Search: support for navigational search functionality
Replication: supports index replication
Fail over: replication and distributed nature provides inbuilt fail
over.
Near Real time: supports near real time updates
April 25, 2015Cloud powered search
© EXPERT NETWORK
Distributed & highly available
‱ Multiple servers (nodes) running in a cluster
‱ Acting as single service
‱ Nodes in cluster that store data or nodes that just help
in speeding up search queries.
‱ Sharding
‱ Indeces are sharded (# shards is configurable)
‱ Each shard can have zero or more replicas
‱ Replicas on different servers (server pools) for failover
‱ One in the cluster goes down? No problem.
Elasticsearch
April 25, 2015Cloud powered search
© EXPERT NETWORK
Azure search
Elasticsearch as a managed service
Platform as a service (PaaS)
Admin by Rest API
Data exchange with JSON
April 25, 2015Cloud powered search
© EXPERT NETWORK
Where are we at
Service Ease of use Scalability Easy Administration
Manual search (SQL) No No Partial
Elasticsearch Yes Yes No
AzureSearch Yes Yes Yes
April 25, 2015Cloud powered search
© EXPERT NETWORK
Resource model
Service
Index (schema type 1)
Index (schema type 2)
Document
Document
Field1
Field2
Field3
Field4
Indexers
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Management Portal
Demo
April 25, 2015Cloud powered search
© EXPERT NETWORK
Index creation
POST https://codecamp-en.search.windows.net/indexes
"name": "stackoverflow-posts",
"fields": [ {
"name": "name_of_field",
"type": “data_type",
"searchable": true (default where applicable) | false ,
"filterable": true (default) | false,
"sortable": true (default where applicable) | false
"facetable": true (default where applicable) | false ,
"key": true | false (default),
"retrievable": true (default) | false } ] 

Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Index documents
Indexers
Data sources: Azure SQL Database, DocumentDB
Connects data sources with target search indexes
An indexer can be used in the following ways:
one-time copy of the data to populate an index
sync an index with changes from the data source on a schedule
invoke on-demand to update an index as needed
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
CRUD Operations
Add, Update, Delete
POST https://codecamp-en.search.windows.net/indexes/stackoverflow/docs/index
{
"@search.action": "upload (default) | merge | mergeOrUpload |
delete",
"key_field_name": "unique_key_of_document", (key/value pair for
key field from index schema)
"field_name": field_value (key/value pairs matching index schema)
}
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Searching through data
GET https://codecamp-en.search.windows.net/indexes/stackoverflow/docs?
search=[string]
+ (AND operator “code" and “camp")
| (OR operator “code" or “camp" or both)
- (NOT operator. “code–camp" “code" term and/or do not have “camp" )
* (Suffix operator. “cod*" - starts with “cod", ignoring case)
" (Phrase search operator)
( ) (Precedence operator - code+(camp|workshop)
searchMode=any|all
searchFields=[string]
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Filtering results
$filter=[string] - Odata syntax
$skip=#
$top=#
$count=true|false
$orderby=[string]
$select=[string]
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Emphasizing results
facet=[string] (field names)
count
sort
values
interval
highlight=[string] (field names)
highlightPreTag=[string] (default is em)
highlightPostTag=[string]
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Suggestions
GET https://codecamp-en.search.windows.net/indexes/stackoverflow/docs/suggest
search=[string]
suggesterName=[string]
fuzzy=[boolean]
searchFields=[string]
Azure Search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Stackoverflow Posts
5.215.584 records
212 MB in Title column
118 MB in Tags column
10,5 GB in Body column
Sample Data
Column Name Data Type
Id int
CreationDate datetime
Score float
ViewCount int
Body nvarchar
OwnerUserId int
Title nvarchar
Tags nvarchar
April 25, 2015Cloud powered search
© EXPERT NETWORK
Search API
DEMO
April 25, 2015Cloud powered search
© EXPERT NETWORK
Scaling
Capacity measured in Search Units
1 Search Unit
1 Partition
1 Replica
Horizontal scaling by increasing the number
of partitions and/or replicas
Cloud powered search
April 25, 2015Cloud powered search
© EXPERT NETWORK
Storage
Partition limitations:
15 million documents
25 GB data
Every Index is split by default in 12 shards
Each partition can store 1,2,3,4,6,12 shards
Cloud powered search
April 25, 2015Cloud powered search
© EXPERT NETWORK
SCENARIOS
Online retail/ecommerce
User generated/social content
Not just for the web
Hybrid Applications
USE CASE
April 25, 2015Cloud powered search
© EXPERT NETWORK
Conclusions
The need for search
Search explained
Development
Case Scenarios
April 25, 2015Cloud powered search
© EXPERT NETWORK
Questions
?
April 25, 2015Cloud powered search
© EXPERT NETWORK
THANK YOU

Weitere Àhnliche Inhalte

Was ist angesagt?

Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Databricks
 
From Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache ApexFrom Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache ApexDataWorks Summit
 
GraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits togetherGraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits togetherSashko Stubailo
 
Bridging the Gap Between Datasets and DataFrames
Bridging the Gap Between Datasets and DataFramesBridging the Gap Between Datasets and DataFrames
Bridging the Gap Between Datasets and DataFramesDatabricks
 
Apache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyYaroslav Tkachenko
 
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...Flink Forward
 
Modern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureModern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureDatabricks
 
Storing State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsYaroslav Tkachenko
 
Databricks: What We Have Learned by Eating Our Dog Food
Databricks: What We Have Learned by Eating Our Dog FoodDatabricks: What We Have Learned by Eating Our Dog Food
Databricks: What We Have Learned by Eating Our Dog FoodDatabricks
 
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"Flink Forward
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking VN
 
Distributed Data Quality - Technical Solutions for Organizational Scaling
Distributed Data Quality - Technical Solutions for Organizational ScalingDistributed Data Quality - Technical Solutions for Organizational Scaling
Distributed Data Quality - Technical Solutions for Organizational ScalingJustin Cunningham
 
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...Flink Forward
 
On Improving Broadcast Joins in Apache Spark SQL
On Improving Broadcast Joins in Apache Spark SQLOn Improving Broadcast Joins in Apache Spark SQL
On Improving Broadcast Joins in Apache Spark SQLDatabricks
 
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...confluent
 
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...confluent
 
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...How to use Standard SQL over Kafka: From the basics to advanced use cases | F...
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...HostedbyConfluent
 
Keeping Identity Graphs In Sync With Apache Spark
Keeping Identity Graphs In Sync With Apache SparkKeeping Identity Graphs In Sync With Apache Spark
Keeping Identity Graphs In Sync With Apache SparkDatabricks
 
Frequently Bought Together Recommendations Based on Embeddings
Frequently Bought Together Recommendations Based on EmbeddingsFrequently Bought Together Recommendations Based on Embeddings
Frequently Bought Together Recommendations Based on EmbeddingsDatabricks
 

Was ist angesagt? (20)

Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
Presto: Fast SQL-on-Anything (including Delta Lake, Snowflake, Elasticsearch ...
 
From Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache ApexFrom Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache Apex
 
GraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits togetherGraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits together
 
Bridging the Gap Between Datasets and DataFrames
Bridging the Gap Between Datasets and DataFramesBridging the Gap Between Datasets and DataFrames
Bridging the Gap Between Datasets and DataFrames
 
Apache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at Shopify
 
MLeap: Release Spark ML Pipelines
MLeap: Release Spark ML PipelinesMLeap: Release Spark ML Pipelines
MLeap: Release Spark ML Pipelines
 
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
 
Modern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureModern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data Capture
 
Storing State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your Analytics
 
Databricks: What We Have Learned by Eating Our Dog Food
Databricks: What We Have Learned by Eating Our Dog FoodDatabricks: What We Have Learned by Eating Our Dog Food
Databricks: What We Have Learned by Eating Our Dog Food
 
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
 
Distributed Data Quality - Technical Solutions for Organizational Scaling
Distributed Data Quality - Technical Solutions for Organizational ScalingDistributed Data Quality - Technical Solutions for Organizational Scaling
Distributed Data Quality - Technical Solutions for Organizational Scaling
 
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...
Flink Forward Berlin 2018: Oleksandr Nitavskyi - "Data lossless event time st...
 
On Improving Broadcast Joins in Apache Spark SQL
On Improving Broadcast Joins in Apache Spark SQLOn Improving Broadcast Joins in Apache Spark SQL
On Improving Broadcast Joins in Apache Spark SQL
 
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...
KSQL-ops! Running ksqlDB in the Wild (Simon Aubury, ThoughtWorks) Kafka Summi...
 
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...
Enabling Insight to Support World-Class Supercomputing (Stefan Ceballos, Oak ...
 
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...How to use Standard SQL over Kafka: From the basics to advanced use cases | F...
How to use Standard SQL over Kafka: From the basics to advanced use cases | F...
 
Keeping Identity Graphs In Sync With Apache Spark
Keeping Identity Graphs In Sync With Apache SparkKeeping Identity Graphs In Sync With Apache Spark
Keeping Identity Graphs In Sync With Apache Spark
 
Frequently Bought Together Recommendations Based on Embeddings
Frequently Bought Together Recommendations Based on EmbeddingsFrequently Bought Together Recommendations Based on Embeddings
Frequently Bought Together Recommendations Based on Embeddings
 

Ähnlich wie Cloud powered search

Getting Started with Elasticsearch
Getting Started with ElasticsearchGetting Started with Elasticsearch
Getting Started with ElasticsearchAlibaba Cloud
 
180825 azure ai
180825 azure ai180825 azure ai
180825 azure aiMijeong Jeon
 
EPAM ML/AI Accelerator - ODAHU
EPAM ML/AI Accelerator - ODAHUEPAM ML/AI Accelerator - ODAHU
EPAM ML/AI Accelerator - ODAHUDmitrii Suslov
 
Synapse for mere mortals
Synapse for mere mortalsSynapse for mere mortals
Synapse for mere mortalsMichael Stephenson
 
.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014Mark Tabladillo
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BIKellyn Pot'Vin-Gorman
 
Is there a way that we can build our Azure Data Factory all with parameters b...
Is there a way that we can build our Azure Data Factory all with parameters b...Is there a way that we can build our Azure Data Factory all with parameters b...
Is there a way that we can build our Azure Data Factory all with parameters b...Erwin de Kreuk
 
Paige Roberts: Shortcut MLOps with In-Database Machine Learning
Paige Roberts: Shortcut MLOps with In-Database Machine LearningPaige Roberts: Shortcut MLOps with In-Database Machine Learning
Paige Roberts: Shortcut MLOps with In-Database Machine LearningEdunomica
 
In Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAPIn Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAPHBaseCon
 
ASHviz - Dats visualization research experiments using ASH data
ASHviz - Dats visualization research experiments using ASH dataASHviz - Dats visualization research experiments using ASH data
ASHviz - Dats visualization research experiments using ASH dataJohn Beresniewicz
 
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
I2 - SharePoint Hybrid Search Start to Finish - Thomas VochtenI2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
I2 - SharePoint Hybrid Search Start to Finish - Thomas VochtenSPS Paris
 
Azure+Databricks+Course+Slide+Deck+V4.pdf
Azure+Databricks+Course+Slide+Deck+V4.pdfAzure+Databricks+Course+Slide+Deck+V4.pdf
Azure+Databricks+Course+Slide+Deck+V4.pdfChitresh Kaushik
 
How to Train Your Classifier: Create a Serverless Machine Learning System wit...
How to Train Your Classifier: Create a Serverless Machine Learning System wit...How to Train Your Classifier: Create a Serverless Machine Learning System wit...
How to Train Your Classifier: Create a Serverless Machine Learning System wit...Stuart Myles
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesMichael Stephenson
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream AnalyticsMarco Parenzan
 
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
(ATS6-APP01) Unleashing the Power of Your Data with DiscoverantBIOVIA
 
Serverless Data Lake on AWS
Serverless Data Lake on AWSServerless Data Lake on AWS
Serverless Data Lake on AWSThanh Nguyen
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien
 
Sergii Baidachnyi ITEM 2018
Sergii Baidachnyi ITEM 2018Sergii Baidachnyi ITEM 2018
Sergii Baidachnyi ITEM 2018ITEM
 

Ähnlich wie Cloud powered search (20)

Getting Started with Elasticsearch
Getting Started with ElasticsearchGetting Started with Elasticsearch
Getting Started with Elasticsearch
 
180825 azure ai
180825 azure ai180825 azure ai
180825 azure ai
 
EPAM ML/AI Accelerator - ODAHU
EPAM ML/AI Accelerator - ODAHUEPAM ML/AI Accelerator - ODAHU
EPAM ML/AI Accelerator - ODAHU
 
Synapse for mere mortals
Synapse for mere mortalsSynapse for mere mortals
Synapse for mere mortals
 
NextGenML
NextGenML NextGenML
NextGenML
 
.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
 
Is there a way that we can build our Azure Data Factory all with parameters b...
Is there a way that we can build our Azure Data Factory all with parameters b...Is there a way that we can build our Azure Data Factory all with parameters b...
Is there a way that we can build our Azure Data Factory all with parameters b...
 
Paige Roberts: Shortcut MLOps with In-Database Machine Learning
Paige Roberts: Shortcut MLOps with In-Database Machine LearningPaige Roberts: Shortcut MLOps with In-Database Machine Learning
Paige Roberts: Shortcut MLOps with In-Database Machine Learning
 
In Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAPIn Search of Database Nirvana: Challenges of Delivering HTAP
In Search of Database Nirvana: Challenges of Delivering HTAP
 
ASHviz - Dats visualization research experiments using ASH data
ASHviz - Dats visualization research experiments using ASH dataASHviz - Dats visualization research experiments using ASH data
ASHviz - Dats visualization research experiments using ASH data
 
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
I2 - SharePoint Hybrid Search Start to Finish - Thomas VochtenI2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
 
Azure+Databricks+Course+Slide+Deck+V4.pdf
Azure+Databricks+Course+Slide+Deck+V4.pdfAzure+Databricks+Course+Slide+Deck+V4.pdf
Azure+Databricks+Course+Slide+Deck+V4.pdf
 
How to Train Your Classifier: Create a Serverless Machine Learning System wit...
How to Train Your Classifier: Create a Serverless Machine Learning System wit...How to Train Your Classifier: Create a Serverless Machine Learning System wit...
How to Train Your Classifier: Create a Serverless Machine Learning System wit...
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream Analytics
 
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
(ATS6-APP01) Unleashing the Power of Your Data with Discoverant
 
Serverless Data Lake on AWS
Serverless Data Lake on AWSServerless Data Lake on AWS
Serverless Data Lake on AWS
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
Sergii Baidachnyi ITEM 2018
Sergii Baidachnyi ITEM 2018Sergii Baidachnyi ITEM 2018
Sergii Baidachnyi ITEM 2018
 

Mehr von Codecamp Romania

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experienceCodecamp Romania
 
Business analysis techniques exercise your 6-pack
Business analysis techniques   exercise your 6-packBusiness analysis techniques   exercise your 6-pack
Business analysis techniques exercise your 6-packCodecamp Romania
 
Bpm company code camp - configuration or coding with pega
Bpm company   code camp - configuration or coding with pegaBpm company   code camp - configuration or coding with pega
Bpm company code camp - configuration or coding with pegaCodecamp Romania
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
 
2015 dan ardelean develop for windows 10
2015 dan ardelean   develop for windows 10 2015 dan ardelean   develop for windows 10
2015 dan ardelean develop for windows 10 Codecamp Romania
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous deliveryCodecamp Romania
 
Stefan stolniceanu spritekit, 2 d or not 2d
Stefan stolniceanu   spritekit, 2 d or not 2dStefan stolniceanu   spritekit, 2 d or not 2d
Stefan stolniceanu spritekit, 2 d or not 2dCodecamp Romania
 
Sizing epics tales from an agile kingdom
Sizing epics   tales from an agile kingdomSizing epics   tales from an agile kingdom
Sizing epics tales from an agile kingdomCodecamp Romania
 
Scale net apps in aws
Scale net apps in awsScale net apps in aws
Scale net apps in awsCodecamp Romania
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...Codecamp Romania
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowCodecamp Romania
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in androidCodecamp Romania
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing careerCodecamp Romania
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu   the soft stuff is the hard stuff. the agile soft skills toolkitIonut grecu   the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkitCodecamp Romania
 
Diana antohi me against myself or how to fail and move forward
Diana antohi   me against myself  or how to fail  and move forwardDiana antohi   me against myself  or how to fail  and move forward
Diana antohi me against myself or how to fail and move forwardCodecamp Romania
 
Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp Romania
 

Mehr von Codecamp Romania (20)

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experience
 
Ccp
CcpCcp
Ccp
 
Business analysis techniques exercise your 6-pack
Business analysis techniques   exercise your 6-packBusiness analysis techniques   exercise your 6-pack
Business analysis techniques exercise your 6-pack
 
Bpm company code camp - configuration or coding with pega
Bpm company   code camp - configuration or coding with pegaBpm company   code camp - configuration or coding with pega
Bpm company code camp - configuration or coding with pega
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabase
 
Agility and life
Agility and lifeAgility and life
Agility and life
 
2015 dan ardelean develop for windows 10
2015 dan ardelean   develop for windows 10 2015 dan ardelean   develop for windows 10
2015 dan ardelean develop for windows 10
 
The bigrewrite
The bigrewriteThe bigrewrite
The bigrewrite
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous delivery
 
Stefan stolniceanu spritekit, 2 d or not 2d
Stefan stolniceanu   spritekit, 2 d or not 2dStefan stolniceanu   spritekit, 2 d or not 2d
Stefan stolniceanu spritekit, 2 d or not 2d
 
Sizing epics tales from an agile kingdom
Sizing epics   tales from an agile kingdomSizing epics   tales from an agile kingdom
Sizing epics tales from an agile kingdom
 
Scale net apps in aws
Scale net apps in awsScale net apps in aws
Scale net apps in aws
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflow
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in android
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing career
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu   the soft stuff is the hard stuff. the agile soft skills toolkitIonut grecu   the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
 
Ecma6 in the wild
Ecma6 in the wildEcma6 in the wild
Ecma6 in the wild
 
Diana antohi me against myself or how to fail and move forward
Diana antohi   me against myself  or how to fail  and move forwardDiana antohi   me against myself  or how to fail  and move forward
Diana antohi me against myself or how to fail and move forward
 
Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1
 

KĂŒrzlich hochgeladen

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂșjo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

KĂŒrzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Cloud powered search

  • 1.
  • 3. April 25, 2015Cloud powered search © EXPERT NETWORK CODECAMP Challenges in distributed applications SQL Azure Federation HDInsight DocumentDB Previous subjects
  • 4. April 25, 2015Cloud powered search © EXPERT NETWORK Azure Search The need for search Search explained Development Case Scenarios Agenda
  • 5. April 25, 2015Cloud powered search © EXPERT NETWORK The need for search Why do we search for data? How do we store it to search efficiently? What’s important?
  • 6. April 25, 2015Cloud powered search © EXPERT NETWORK Is this a search engine? where [field] like “%codecamp%”
  • 7. April 25, 2015Cloud powered search © EXPERT NETWORK WHAT IS A SEARCH ENGINE? Efficient indexing of data On all fields / combination of fields Analyzing data Text Search Tokenizing Stemming Filtering Understanding locations Relevance scoring
  • 8. April 25, 2015Cloud powered search © EXPERT NETWORK Lucene Document: collection of fields Field: string based key-value pair Collection: set of documents Inverted index: a term can list the number of documents it contains Score: relevancy for each document matching the query
  • 9. April 25, 2015Cloud powered search © EXPERT NETWORK How searching works Id Title UserId ViewCount Tags 1 Controller Action ambiguity even with [HttpPost] decoration? (ASP.NET MVC4) 5 352 asp.net asp.net-mvc asp.net-mvc-4 f# 2 Why can't I use a scrollwheel on a webpage? 6 109 c# javascript asp.net asp.net-mvc-4 twitter- bootstrap-3 3 Access session variable of one site in another" 7 78 asp.net .net 4 Check if SIM card exists 5 209 c# windows-phone-8
  • 10. April 25, 2015Cloud powered search © EXPERT NETWORK Inverted index How searching works Title Access session variable of one site in another" 3 Check if SIM card exists 4 Controller Action ambiguity even with [HttpPost] decoration? (ASP.NET MVC4) 1 Why can't I use a scrollwheel on a webpage? 2 UserID 5 1, 4 6 2 7 3 ViewCount 78 3 109 2 209 4 352 1
  • 11. April 25, 2015Cloud powered search © EXPERT NETWORK Inverted index How searching works Title Access session variable of one site in another" 3 Check if SIM card exists 4 Controller Action ambiguity even with [HttpPost] decoration? (ASP.NET MVC4) 1 Why can't I use a scrollwheel on a webpage? 2 UserID 5 1, 4 6 2 7 3 ViewCount 78 3 109 2 209 4 352 1 Query: UserID = 5
  • 12. April 25, 2015Cloud powered search © EXPERT NETWORK Full text search Id Tags 1 asp.net asp.net-mvc asp.net-mvc- 4 f# 2 c# javascript asp.net asp.net-mvc- 4 twitter-bootstrap-3 3 asp.net .net 4 c# windows-phone-8 How searching works Term Doc .net 3 asp.net 1, 2, 3 asp.net-mvc-4 1, 2 c# 2, 4 f# 1 javascript 2 mvc 1 twitter-bootstrap-3 2 windows-phone-8 4
  • 13. April 25, 2015Cloud powered search © EXPERT NETWORK Full text search Id Tags 1 asp.net asp.net-mvc asp.net-mvc- 4 f# 2 c# javascript asp.net asp.net-mvc- 4 twitter-bootstrap-3 3 asp.net .net 4 c# windows-phone-8 How searching works Term Doc .net 3 asp.net 1, 2, 3 asp.net-mvc-4 1, 2 c# 2, 4 f# 1 javascript 2 mvc 1 twitter-bootstrap-3 2 windows-phone-8 4 Query: “javascript” in Tags
  • 14. April 25, 2015Cloud powered search © EXPERT NETWORK Full text search Id Tags 1 asp.net asp.net-mvc asp.net-mvc- 4 f# 2 c# javascript asp.net asp.net-mvc- 4 twitter-bootstrap-3 3 asp.net .net 4 c# windows-phone-8 How searching works Term Doc .net 3 asp.net 1, 2, 3 asp.net-mvc-4 1, 2 c# 2, 4 f# 1 javascript 2 mvc 1 twitter-bootstrap-3 2 windows-phone-8 4 Query: “asp.net” in Tags
  • 15. April 25, 2015Cloud powered search © EXPERT NETWORK Auto-completion Uses
  • 16. April 25, 2015Cloud powered search © EXPERT NETWORK Auto-correction Phrasing Iframe security – Security in an Iframe Word-level distance grey/gray color/colour Uses
  • 17. April 25, 2015Cloud powered search © EXPERT NETWORK Elasticsearch Distributed: aggregated results of search performed on multiple shards/indices Schema Less: is document oriented. Supports JSON format RESTful: supports REST interface Faceted Search: support for navigational search functionality Replication: supports index replication Fail over: replication and distributed nature provides inbuilt fail over. Near Real time: supports near real time updates
  • 18. April 25, 2015Cloud powered search © EXPERT NETWORK Distributed & highly available ‱ Multiple servers (nodes) running in a cluster ‱ Acting as single service ‱ Nodes in cluster that store data or nodes that just help in speeding up search queries. ‱ Sharding ‱ Indeces are sharded (# shards is configurable) ‱ Each shard can have zero or more replicas ‱ Replicas on different servers (server pools) for failover ‱ One in the cluster goes down? No problem. Elasticsearch
  • 19. April 25, 2015Cloud powered search © EXPERT NETWORK Azure search Elasticsearch as a managed service Platform as a service (PaaS) Admin by Rest API Data exchange with JSON
  • 20. April 25, 2015Cloud powered search © EXPERT NETWORK Where are we at Service Ease of use Scalability Easy Administration Manual search (SQL) No No Partial Elasticsearch Yes Yes No AzureSearch Yes Yes Yes
  • 21. April 25, 2015Cloud powered search © EXPERT NETWORK Resource model Service Index (schema type 1) Index (schema type 2) Document Document Field1 Field2 Field3 Field4 Indexers Azure Search
  • 22. April 25, 2015Cloud powered search © EXPERT NETWORK Management Portal Demo
  • 23. April 25, 2015Cloud powered search © EXPERT NETWORK Index creation POST https://codecamp-en.search.windows.net/indexes "name": "stackoverflow-posts", "fields": [ { "name": "name_of_field", "type": “data_type", "searchable": true (default where applicable) | false , "filterable": true (default) | false, "sortable": true (default where applicable) | false "facetable": true (default where applicable) | false , "key": true | false (default), "retrievable": true (default) | false } ] 
 Azure Search
  • 24. April 25, 2015Cloud powered search © EXPERT NETWORK Index documents Indexers Data sources: Azure SQL Database, DocumentDB Connects data sources with target search indexes An indexer can be used in the following ways: one-time copy of the data to populate an index sync an index with changes from the data source on a schedule invoke on-demand to update an index as needed Azure Search
  • 25. April 25, 2015Cloud powered search © EXPERT NETWORK CRUD Operations Add, Update, Delete POST https://codecamp-en.search.windows.net/indexes/stackoverflow/docs/index { "@search.action": "upload (default) | merge | mergeOrUpload | delete", "key_field_name": "unique_key_of_document", (key/value pair for key field from index schema) "field_name": field_value (key/value pairs matching index schema) } Azure Search
  • 26. April 25, 2015Cloud powered search © EXPERT NETWORK Searching through data GET https://codecamp-en.search.windows.net/indexes/stackoverflow/docs? search=[string] + (AND operator “code" and “camp") | (OR operator “code" or “camp" or both) - (NOT operator. “code–camp" “code" term and/or do not have “camp" ) * (Suffix operator. “cod*" - starts with “cod", ignoring case) " (Phrase search operator) ( ) (Precedence operator - code+(camp|workshop) searchMode=any|all searchFields=[string] Azure Search
  • 27. April 25, 2015Cloud powered search © EXPERT NETWORK Filtering results $filter=[string] - Odata syntax $skip=# $top=# $count=true|false $orderby=[string] $select=[string] Azure Search
  • 28. April 25, 2015Cloud powered search © EXPERT NETWORK Emphasizing results facet=[string] (field names) count sort values interval highlight=[string] (field names) highlightPreTag=[string] (default is em) highlightPostTag=[string] Azure Search
  • 29. April 25, 2015Cloud powered search © EXPERT NETWORK Suggestions GET https://codecamp-en.search.windows.net/indexes/stackoverflow/docs/suggest search=[string] suggesterName=[string] fuzzy=[boolean] searchFields=[string] Azure Search
  • 30. April 25, 2015Cloud powered search © EXPERT NETWORK Stackoverflow Posts 5.215.584 records 212 MB in Title column 118 MB in Tags column 10,5 GB in Body column Sample Data Column Name Data Type Id int CreationDate datetime Score float ViewCount int Body nvarchar OwnerUserId int Title nvarchar Tags nvarchar
  • 31. April 25, 2015Cloud powered search © EXPERT NETWORK Search API DEMO
  • 32. April 25, 2015Cloud powered search © EXPERT NETWORK Scaling Capacity measured in Search Units 1 Search Unit 1 Partition 1 Replica Horizontal scaling by increasing the number of partitions and/or replicas Cloud powered search
  • 33. April 25, 2015Cloud powered search © EXPERT NETWORK Storage Partition limitations: 15 million documents 25 GB data Every Index is split by default in 12 shards Each partition can store 1,2,3,4,6,12 shards Cloud powered search
  • 34. April 25, 2015Cloud powered search © EXPERT NETWORK SCENARIOS Online retail/ecommerce User generated/social content Not just for the web Hybrid Applications USE CASE
  • 35. April 25, 2015Cloud powered search © EXPERT NETWORK Conclusions The need for search Search explained Development Case Scenarios
  • 36. April 25, 2015Cloud powered search © EXPERT NETWORK Questions ?
  • 37. April 25, 2015Cloud powered search © EXPERT NETWORK THANK YOU