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

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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 - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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 - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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