SlideShare a Scribd company logo
1 of 28
EPiServer Find
www.patrickvankleef.com
2 patrickvankleef.com
TableOf Content 01 Index
02 Search
03 Filters
04 Facets
06 Statistics
What we’ll learn in this
presentation
Table of contents
07 Exercises
08 Influence search results
3 patrickvankleef.com
0201
EPiServer Find
EPiServer Find
03
04 05 06
Elastic Search
EPiServer Find is build on top
of Elastic Search.
Facets
Facets are a way to aggregate
data for all documents in an
index or documents that match
a certain search query or set of
filtering criterias.
EPiServer Find UI
Manage your index, statistics
and influence search results.
Searching
Using different kind of
searching types.
Geo search
The service supports indexing
geographical coordinates and
later searching for them in a
number of ways.
Statistics
Use statistics to improve the
search functionality on the
website.
4 patrickvankleef.com Unified search
Demo Applications
Demo website
• Indexing
• Search
• Statistics
• https://github.com/patkleef/EPiServerFindDemo
Demo console application
• Filters
• Facets
5 patrickvankleef.com
Indexing
Indexing
Indexing
6 patrickvankleef.com
Indexing
Indexing
Pages and blocks Sample
Custom objects
Use the Index method when you would like to index custom
objects. Bulk index is supported!
_client.Index(obj);
Pages and blocks are automatically indexed by EPiServer. This
includes when a page or block is created, updated and deleted.
_client.Index(list);
_client.Delete<Company>(“6b4b3f7f-d086-4176-bb0b-
e56eba210790”);
8 patrickvankleef.com
Search
Search
Search
9 patrickvankleef.com
Typed Search
Typed search
Searching on a specific type Sample
_client.Search<ArticlePage>().For(query)
.GetContentResult();
GetContentResult
Use the method GetContentResult when you search for IContent
types. Only the ContentReference is returned in the JSON.
GetResult
Use the GetResult method when searching on custom types. The
whole object is serialized and returned by Find as JSON.
_client.Search<Company>().For(query)
.GetResult();
10 patrickvankleef.com
UnifiedSearch
Unified search
Searching on multiple types Sample
_client.UnifiedSearchFor(query)
.GetResult(hitSpecification);
ISearchContent
IUnifiedSearchRegistry
Add types that should be included when searching for ISearchContent.
Customize the default projection.
_client.Conventions.UnifiedSearchRegistry
.Add<Company>();
_client.Conventions.UnifiedSearchRegistry
.ForInstanceOf<User>()
.ProjectTitleFrom(x => x.Name);
SearchText, SearchTitle, SearchTypeName, SearchUpdateDate, etc.
Implement this interface or add a property or extension method to your
type with the same name as on of the below properties.
Returns a collection of UnifiedSearchHit.
11 patrickvankleef.com
Unified
SearchHit
Article page
Company
User
UnifiedSearch - Projection
• Authors
• Excerpt
• FileExtension
• GeoLocation
• HitTypeName
• ImageUri
• MetaData
• OriginalObjectGetter
• PublishDate
• Section
• Subsection
• Title
• TypeName
• UpdateDate
• Url
UnifiedSearchHit
Unified search
12 patrickvankleef.com Unified search
UnifiedSearch
Unified search =Typed search
public static ITypeSearch<ISearchContent> UnifiedSearch(this IClient client)
{
return client.UnifiedSearch(client.ResolveSupportedLanguageBasedOnPreferredCulture());
}
14 patrickvankleef.com
Filters
Filters
Filters & Facets
15 patrickvankleef.com
Filters
Filters
Filters for different data types Sample
Similar toWhere LINQ
Boolean, Complex objects, DateTime, Enum, Numerical, Strings
_client.Search<Hotel>()
.Filter(h => h.PriceUSD.InRange(100, 200));
_client.Search<Hotel>()
. Filter(h => h.Title.Match("Hotel"));Extension methods
Match(), MatchCaseInsensitive(), Prefix(), AnyWordBeginsWith(),
LessThan(), GreaterThan(), InRange(), etc.
17 patrickvankleef.com
Statistics
Statistics
Statistics
18 patrickvankleef.com Statistics
StatisticsinEPiServer Find
JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUSTUS
View the most frequent search queries by last
24 hours, week, month or year in a visual. This
statistic will also show a ranking of most search
queries.
Most frequent searches
View the search queries without hits by
last 24 hours, week, month or year in a
visual. This statistic will also show a
ranking of most search queries without
hits.
Searches without hits
View the search queries without relevant hits
by last 24 hours, week, month or year. The
number of click-through rate per search query
is shown.
Searches without relevant hits
19 patrickvankleef.com
Statistics-Tracking
Statistics
StatisticsTrack() method
Sample
_client.UnifiedSearchFor(query)
.StatisticsTrack()
.GetResult(hitSpecification);
@Html.RequiredClientResources(RenderingTags.Footer)
With the Tracking method search queries submitted and clicking
behavior by the visitor can be stored. This method will enable the
statistics in the EPiServer Find interface.
Track query and hits
When using unified search the query and hits are automatically
tracked when of course using the Tracking method.
/en/articles/schools-to-offer-human-rights-lessons/?
_t_id=bitl0wz5nqqzc60rzbvsxw==&
_t_q=group&
_t_tags=language:en,siteid:1ef1416b-a33d-4b98-
8172-30122edc3252&
_t_ip=::1&
_t_hit.id=site_models_pages_articlepage/_c261fdb3-
e611-42e7-ae39-d1f2a6904d97_en&
_t_hit.pos=4
Custom tracking
Create URL with querystrings
20 patrickvankleef.com
0201
Statistics
Statistics-Functionality
03Autocomplete
Get search queries from previous
visitors. Search queries can also be
added in the EPiServer Find
interface.
Did you mean Spellcheck
Use the spellcheck
functionality to give
suggestions based on current
search query.
Use the did you mean functionality
to help users find relevant search
queries based on current search
query.
21
Statistics-Autocomplete
Statistics
Gr
Groups
Gro
Grou
Group
Search
Use .NETClient API
Use the .NET client API for receiving results.
_client.Statistics().GetAutocomplete(query);
Use Javascript
It’s also possible to use Javascript to get results.
/find_v2/_autocomplete?prefix=' + query + '&size=5
Configure in EPiServer Find UI
Use the EPiServer Find UI to insert possible search phrases.
Added in UI
patrickvankleef.com
22 patrickvankleef.com
Statistics–Did you mean
Statistics
Group
Collection
Company
Search
Use .NETClient API
Use the .NET client API for receiving results.
_client.Statistics().GetDidYouMean(query);
Use Javascript
It’s also possible to use Javascript to get results.
/find_v2/_didyoumean?prefix=' + query + '&size=5
Configure in EPiServer Find UI
Configure related queries in the CMS. Pair a phrase with
possible suggestions.
Added in UI
23 patrickvankleef.com
Statistics–Spellcheck
Statistics
Grouz
Group
Search
Use .NETClient API
Use the .NET client API for receiving results.
_client.Statistics().GetSpellcheck(query);
Use Javascript
It’s also possible to use Javascript to get results.
/find_v2/_spellcheck?prefix=' + query + '&size=5
25 patrickvankleef.com
Exercises
Exercises
Exercises
26 patrickvankleef.com
Exercises
Exercises
1. Filter on price  get all hotels that have price between 100 and 200
2. Filter on rating/review  find all hotels that have a star rating of either 4 or 5, OR
review rate of either 9 or 10 with more than 50 reviews
3. Filter on location  get all hotels within 5 km of the cosmopolitan hotel, order by
distance from cosmopolitan hotel (closest first)
27 patrickvankleef.com
Exercises
Exercises
4. Advanced filtering  Show hotels with more than 2 stars within 10 km of the
cosmopolitan hotel that offer room service, have air condition
5. Range facets  Create range facets for price ranges 20-50, 51-100 and 101-150
USD
6. Facet for Country List name of all countries that have hotels
7. Basic text search, query entered by user, in fields Name and Description
28 patrickvankleef.com
Exercises
Exercises
Solution: N:EPiServerLabLab.zip
(Projects share)

More Related Content

What's hot

Scaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big DataScaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big DataTreasure Data, Inc.
 
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...Using ElasticSearch as a fast, flexible, and scalable solution to search occu...
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...kristgen
 
Visualizing Austin's data with Elasticsearch and Kibana
Visualizing Austin's data with Elasticsearch and KibanaVisualizing Austin's data with Elasticsearch and Kibana
Visualizing Austin's data with Elasticsearch and KibanaObjectRocket
 
Becoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIBecoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIcgmonroe
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...Edureka!
 
Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?therealgaston
 
Data Virtualization And Information As A Service (IaaS)
Data Virtualization And Information As A Service (IaaS)Data Virtualization And Information As A Service (IaaS)
Data Virtualization And Information As A Service (IaaS)Synerzip
 
Spsvb Developer Intro to SharePoint Search
Spsvb   Developer Intro to SharePoint SearchSpsvb   Developer Intro to SharePoint Search
Spsvb Developer Intro to SharePoint SearchMichael Oryszak
 
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, LucidworksngineersSQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, LucidworksngineersLucidworks
 
Consuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache CamelConsuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache Cameltherealgaston
 
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...Codit
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Lucidworks
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack PresentationAmr Alaa Yassen
 
Open access resources
Open access resourcesOpen access resources
Open access resourcesQuentin Reul
 
JeeConf 2018 - The anatomy of Spring Data
JeeConf 2018 - The anatomy of Spring DataJeeConf 2018 - The anatomy of Spring Data
JeeConf 2018 - The anatomy of Spring DataMaksym Govorischev
 
Why Elastic? @ 50th Vinitaly 2016
Why Elastic? @ 50th Vinitaly 2016Why Elastic? @ 50th Vinitaly 2016
Why Elastic? @ 50th Vinitaly 2016Christoph Wurm
 

What's hot (20)

Scaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big DataScaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big Data
 
Microsoft Azure Search
Microsoft Azure SearchMicrosoft Azure Search
Microsoft Azure Search
 
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...Using ElasticSearch as a fast, flexible, and scalable solution to search occu...
Using ElasticSearch as a fast, flexible, and scalable solution to search occu...
 
Visualizing Austin's data with Elasticsearch and Kibana
Visualizing Austin's data with Elasticsearch and KibanaVisualizing Austin's data with Elasticsearch and Kibana
Visualizing Austin's data with Elasticsearch and Kibana
 
Azure search
Azure searchAzure search
Azure search
 
Becoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search APIBecoming "Facet"-nated with Search API
Becoming "Facet"-nated with Search API
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
 
Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?
 
Data Virtualization And Information As A Service (IaaS)
Data Virtualization And Information As A Service (IaaS)Data Virtualization And Information As A Service (IaaS)
Data Virtualization And Information As A Service (IaaS)
 
Spsvb Developer Intro to SharePoint Search
Spsvb   Developer Intro to SharePoint SearchSpsvb   Developer Intro to SharePoint Search
Spsvb Developer Intro to SharePoint Search
 
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, LucidworksngineersSQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
 
Consuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache CamelConsuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache Camel
 
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...
Analyzing StackExchange Data with Azure Data Lake (Tom Kerkhove @ Integration...
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
 
Talend big data online training
Talend big data online trainingTalend big data online training
Talend big data online training
 
An introduction to predictionIO
An introduction to predictionIOAn introduction to predictionIO
An introduction to predictionIO
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack Presentation
 
Open access resources
Open access resourcesOpen access resources
Open access resources
 
JeeConf 2018 - The anatomy of Spring Data
JeeConf 2018 - The anatomy of Spring DataJeeConf 2018 - The anatomy of Spring Data
JeeConf 2018 - The anatomy of Spring Data
 
Why Elastic? @ 50th Vinitaly 2016
Why Elastic? @ 50th Vinitaly 2016Why Elastic? @ 50th Vinitaly 2016
Why Elastic? @ 50th Vinitaly 2016
 

Similar to EpiServer find Macaw

Learning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaLearning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaDatabricks
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringTao Xie
 
Changes in Structured Data at Google (SEO Camp 'us in Paris)
Changes in Structured Data at Google (SEO Camp 'us in Paris)Changes in Structured Data at Google (SEO Camp 'us in Paris)
Changes in Structured Data at Google (SEO Camp 'us in Paris)Bill Slawski
 
Keynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchKeynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchElasticsearch
 
Ektron 8.5 RC - Search
Ektron 8.5 RC - SearchEktron 8.5 RC - Search
Ektron 8.5 RC - SearchBillCavaUs
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...Connected Data World
 
An Architecture for Agile Machine Learning in Real-Time Applications
An Architecture for Agile Machine Learning in Real-Time ApplicationsAn Architecture for Agile Machine Learning in Real-Time Applications
An Architecture for Agile Machine Learning in Real-Time ApplicationsJohann Schleier-Smith
 
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...AlexACMSC
 
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
 
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...jaxLondonConference
 
Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)Jeremy Cabral
 
Data Models Breakout Session
Data Models Breakout SessionData Models Breakout Session
Data Models Breakout SessionSplunk
 
Mices 2018 cxp pavel_penchev_searchhub-searchcollector
Mices 2018 cxp pavel_penchev_searchhub-searchcollectorMices 2018 cxp pavel_penchev_searchhub-searchcollector
Mices 2018 cxp pavel_penchev_searchhub-searchcollectorCXP Commerce Experts GmbH
 
How Lyft Drives Data Discovery
How Lyft Drives Data DiscoveryHow Lyft Drives Data Discovery
How Lyft Drives Data DiscoveryNeo4j
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotepindeedeng
 
(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
 
Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search resultsJettro Coenradie
 
DataFinder concepts and example: General (20100503)
DataFinder concepts and example: General (20100503)DataFinder concepts and example: General (20100503)
DataFinder concepts and example: General (20100503)Data Finder
 
Structured data and metadata evaluation methodology for organizations looking...
Structured data and metadata evaluation methodology for organizations looking...Structured data and metadata evaluation methodology for organizations looking...
Structured data and metadata evaluation methodology for organizations looking...Emily Kolvitz
 
Redgate Community Circle: Tools For SQL Server Performance Tuning
Redgate Community Circle: Tools For SQL Server Performance TuningRedgate Community Circle: Tools For SQL Server Performance Tuning
Redgate Community Circle: Tools For SQL Server Performance TuningGrant Fritchey
 

Similar to EpiServer find Macaw (20)

Learning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaLearning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar Castaneda
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Changes in Structured Data at Google (SEO Camp 'us in Paris)
Changes in Structured Data at Google (SEO Camp 'us in Paris)Changes in Structured Data at Google (SEO Camp 'us in Paris)
Changes in Structured Data at Google (SEO Camp 'us in Paris)
 
Keynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchKeynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified search
 
Ektron 8.5 RC - Search
Ektron 8.5 RC - SearchEktron 8.5 RC - Search
Ektron 8.5 RC - Search
 
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
From Knowledge Graphs to AI-powered SEO: Using taxonomies, schemas and knowle...
 
An Architecture for Agile Machine Learning in Real-Time Applications
An Architecture for Agile Machine Learning in Real-Time ApplicationsAn Architecture for Agile Machine Learning in Real-Time Applications
An Architecture for Agile Machine Learning in Real-Time Applications
 
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
 
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
 
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
 
Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)
 
Data Models Breakout Session
Data Models Breakout SessionData Models Breakout Session
Data Models Breakout Session
 
Mices 2018 cxp pavel_penchev_searchhub-searchcollector
Mices 2018 cxp pavel_penchev_searchhub-searchcollectorMices 2018 cxp pavel_penchev_searchhub-searchcollector
Mices 2018 cxp pavel_penchev_searchhub-searchcollector
 
How Lyft Drives Data Discovery
How Lyft Drives Data DiscoveryHow Lyft Drives Data Discovery
How Lyft Drives Data Discovery
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep
 
(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
 
Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search results
 
DataFinder concepts and example: General (20100503)
DataFinder concepts and example: General (20100503)DataFinder concepts and example: General (20100503)
DataFinder concepts and example: General (20100503)
 
Structured data and metadata evaluation methodology for organizations looking...
Structured data and metadata evaluation methodology for organizations looking...Structured data and metadata evaluation methodology for organizations looking...
Structured data and metadata evaluation methodology for organizations looking...
 
Redgate Community Circle: Tools For SQL Server Performance Tuning
Redgate Community Circle: Tools For SQL Server Performance TuningRedgate Community Circle: Tools For SQL Server Performance Tuning
Redgate Community Circle: Tools For SQL Server Performance Tuning
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

EpiServer find Macaw

  • 2. 2 patrickvankleef.com TableOf Content 01 Index 02 Search 03 Filters 04 Facets 06 Statistics What we’ll learn in this presentation Table of contents 07 Exercises 08 Influence search results
  • 3. 3 patrickvankleef.com 0201 EPiServer Find EPiServer Find 03 04 05 06 Elastic Search EPiServer Find is build on top of Elastic Search. Facets Facets are a way to aggregate data for all documents in an index or documents that match a certain search query or set of filtering criterias. EPiServer Find UI Manage your index, statistics and influence search results. Searching Using different kind of searching types. Geo search The service supports indexing geographical coordinates and later searching for them in a number of ways. Statistics Use statistics to improve the search functionality on the website.
  • 4. 4 patrickvankleef.com Unified search Demo Applications Demo website • Indexing • Search • Statistics • https://github.com/patkleef/EPiServerFindDemo Demo console application • Filters • Facets
  • 6. 6 patrickvankleef.com Indexing Indexing Pages and blocks Sample Custom objects Use the Index method when you would like to index custom objects. Bulk index is supported! _client.Index(obj); Pages and blocks are automatically indexed by EPiServer. This includes when a page or block is created, updated and deleted. _client.Index(list); _client.Delete<Company>(“6b4b3f7f-d086-4176-bb0b- e56eba210790”);
  • 7.
  • 9. 9 patrickvankleef.com Typed Search Typed search Searching on a specific type Sample _client.Search<ArticlePage>().For(query) .GetContentResult(); GetContentResult Use the method GetContentResult when you search for IContent types. Only the ContentReference is returned in the JSON. GetResult Use the GetResult method when searching on custom types. The whole object is serialized and returned by Find as JSON. _client.Search<Company>().For(query) .GetResult();
  • 10. 10 patrickvankleef.com UnifiedSearch Unified search Searching on multiple types Sample _client.UnifiedSearchFor(query) .GetResult(hitSpecification); ISearchContent IUnifiedSearchRegistry Add types that should be included when searching for ISearchContent. Customize the default projection. _client.Conventions.UnifiedSearchRegistry .Add<Company>(); _client.Conventions.UnifiedSearchRegistry .ForInstanceOf<User>() .ProjectTitleFrom(x => x.Name); SearchText, SearchTitle, SearchTypeName, SearchUpdateDate, etc. Implement this interface or add a property or extension method to your type with the same name as on of the below properties. Returns a collection of UnifiedSearchHit.
  • 11. 11 patrickvankleef.com Unified SearchHit Article page Company User UnifiedSearch - Projection • Authors • Excerpt • FileExtension • GeoLocation • HitTypeName • ImageUri • MetaData • OriginalObjectGetter • PublishDate • Section • Subsection • Title • TypeName • UpdateDate • Url UnifiedSearchHit Unified search
  • 12. 12 patrickvankleef.com Unified search UnifiedSearch Unified search =Typed search public static ITypeSearch<ISearchContent> UnifiedSearch(this IClient client) { return client.UnifiedSearch(client.ResolveSupportedLanguageBasedOnPreferredCulture()); }
  • 13.
  • 15. 15 patrickvankleef.com Filters Filters Filters for different data types Sample Similar toWhere LINQ Boolean, Complex objects, DateTime, Enum, Numerical, Strings _client.Search<Hotel>() .Filter(h => h.PriceUSD.InRange(100, 200)); _client.Search<Hotel>() . Filter(h => h.Title.Match("Hotel"));Extension methods Match(), MatchCaseInsensitive(), Prefix(), AnyWordBeginsWith(), LessThan(), GreaterThan(), InRange(), etc.
  • 16.
  • 18. 18 patrickvankleef.com Statistics StatisticsinEPiServer Find JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUSTUS View the most frequent search queries by last 24 hours, week, month or year in a visual. This statistic will also show a ranking of most search queries. Most frequent searches View the search queries without hits by last 24 hours, week, month or year in a visual. This statistic will also show a ranking of most search queries without hits. Searches without hits View the search queries without relevant hits by last 24 hours, week, month or year. The number of click-through rate per search query is shown. Searches without relevant hits
  • 19. 19 patrickvankleef.com Statistics-Tracking Statistics StatisticsTrack() method Sample _client.UnifiedSearchFor(query) .StatisticsTrack() .GetResult(hitSpecification); @Html.RequiredClientResources(RenderingTags.Footer) With the Tracking method search queries submitted and clicking behavior by the visitor can be stored. This method will enable the statistics in the EPiServer Find interface. Track query and hits When using unified search the query and hits are automatically tracked when of course using the Tracking method. /en/articles/schools-to-offer-human-rights-lessons/? _t_id=bitl0wz5nqqzc60rzbvsxw==& _t_q=group& _t_tags=language:en,siteid:1ef1416b-a33d-4b98- 8172-30122edc3252& _t_ip=::1& _t_hit.id=site_models_pages_articlepage/_c261fdb3- e611-42e7-ae39-d1f2a6904d97_en& _t_hit.pos=4 Custom tracking Create URL with querystrings
  • 20. 20 patrickvankleef.com 0201 Statistics Statistics-Functionality 03Autocomplete Get search queries from previous visitors. Search queries can also be added in the EPiServer Find interface. Did you mean Spellcheck Use the spellcheck functionality to give suggestions based on current search query. Use the did you mean functionality to help users find relevant search queries based on current search query.
  • 21. 21 Statistics-Autocomplete Statistics Gr Groups Gro Grou Group Search Use .NETClient API Use the .NET client API for receiving results. _client.Statistics().GetAutocomplete(query); Use Javascript It’s also possible to use Javascript to get results. /find_v2/_autocomplete?prefix=' + query + '&size=5 Configure in EPiServer Find UI Use the EPiServer Find UI to insert possible search phrases. Added in UI patrickvankleef.com
  • 22. 22 patrickvankleef.com Statistics–Did you mean Statistics Group Collection Company Search Use .NETClient API Use the .NET client API for receiving results. _client.Statistics().GetDidYouMean(query); Use Javascript It’s also possible to use Javascript to get results. /find_v2/_didyoumean?prefix=' + query + '&size=5 Configure in EPiServer Find UI Configure related queries in the CMS. Pair a phrase with possible suggestions. Added in UI
  • 23. 23 patrickvankleef.com Statistics–Spellcheck Statistics Grouz Group Search Use .NETClient API Use the .NET client API for receiving results. _client.Statistics().GetSpellcheck(query); Use Javascript It’s also possible to use Javascript to get results. /find_v2/_spellcheck?prefix=' + query + '&size=5
  • 24.
  • 26. 26 patrickvankleef.com Exercises Exercises 1. Filter on price  get all hotels that have price between 100 and 200 2. Filter on rating/review  find all hotels that have a star rating of either 4 or 5, OR review rate of either 9 or 10 with more than 50 reviews 3. Filter on location  get all hotels within 5 km of the cosmopolitan hotel, order by distance from cosmopolitan hotel (closest first)
  • 27. 27 patrickvankleef.com Exercises Exercises 4. Advanced filtering  Show hotels with more than 2 stars within 10 km of the cosmopolitan hotel that offer room service, have air condition 5. Range facets  Create range facets for price ranges 20-50, 51-100 and 101-150 USD 6. Facet for Country List name of all countries that have hotels 7. Basic text search, query entered by user, in fields Name and Description