SlideShare a Scribd company logo
1 of 37
EPiServer Find
Advanced
Session
Patrick van Kleef
Mari Jørgensen
Introduction
• Macaw
• EPiServer experience
• EPiServer MVP
• Blogs
• Presentations
• Forum
• www.patrickvankleef.com
Patrick van Kleef
Agenda
• Unified search
• Highlighting
• Statistics
Unified Search
• Search on different types
• Returns collection of UnifiedSearchHit
• ISearchContent
• SearchText, SearchTitle,SearchUpdateDate
• Define properties or extension methods with
the same name
• IUnifiedSearchRegistry
• Add types
• Customize projections
Sample
_client.UnifiedSearchFor(query)
.GetResult(hitSpecification);
_client.Conventions
.UnifiedSearchRegistry
.Add<Company>();
_client.Conventions
.UnifiedSearchRegistry
.ForInstanceOf<User>()
.ProjectTitleFrom(x => x.Name);
Unified Search - Projection
UnifiedSearchHit
Authors, Excerpt, FileExtension,
GeoLocation, HitTypeName,
ImageUri, MetaData,
OriginalObjectGetter,
PublishDate, Section, Subsection,
Title, TypeName, UpdateDate, Url
Unified
SearchHit
Article
page
Company
User
Highlighting
Search for ‘to’
impossible to keep up with it all. But, with times constantly
changing, we have to do our best to keep up ... that everyone
should know more about is FTAs, free to air satellite receivers
and files. An FTA receiver
Highlighting
01
Number of
fragmentsConfigure the number of
fragments that should be returned.
Default value of this property is 2.
02
Fragment size
The length of the fragment can be
set with this property. The default
value is 100.
03
Concatenation
Choose how to seperate the
fragments from each other. Default
three dots are used to seperate
fragments.
04
Post tag
Highlighted words are surrounded
with HTML tags. Default value is a
</em> tag.
05
Pre tag
Highlighted words are surrounded
with HTML tags. Default value is a
<em> tag.
impossible to keep up with it all. But, with times constantly changing, we have to do our best to keep up ...
that everyone should know more about is FTAs, free to air satellite receivers and files. An FTA receiver
Statistics
JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST
View the most frequent searches 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 searches 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 searches without relevant hits by
last 24 hours, week, month or year. The
number of click-through rate per search
query is show.
Searches without relevant hits
Statistics - Tracking
• Track search queries and click
behavior
• Enable tracking
• Use the StatisticsTrack method
• Call the
RequiredClientResources
method on the layout view
• Custom tracking
Sample
_client.UnifiedSearchFor(query)
.StatisticsTrack()
.GetResult(hitSpecification);
Html.RequiredClientResources(RenderingTa
gs.Footer)
Statistics - Functionality
01
Autocomplete
02
Did you
mean
03
Spellcheck
Get search queries from previous visitors. Queries can also be
added in the EPiServer Find interface.
Use the did you mean functionality to help users find relevant content based on
current search query.
Use the spellcheck functionality to give suggestions based on current search query.
Statistics – Autocomplete
• Use .NET client API
• Or Javascript
• Configure in EPiServer Find
UI
• Add items
• Suggestions based on real
search queries
Gr
Groups
Group
Searc
h
Added in
UI
Statistics – Did you mean
• Use .NET client API
• Or Javascript
• Configure in EPiServer Find
UI
• Add items
• Suggestions based on real
search queries
Group
Collection
Company
Searc
h
Added in
UI
Statistics – Spellcheck
• Use .NET client API
• Or Javascript
• Suggestions based on real
search queries
Grouz
Group
Searc
h
Hotel demo site
Allan Thraen: “Want to try out
EPiServer Find? Here is an
easy way, and fun challenge!”
• hotelfinder-episerver.azurewebsites.net
• github.com/patkleef/HotelFinderSite
• Typed search
• Filters
• Facets
• Geo search
Next Up: Mari
About me
Mari Jørgensen
• Team leader / senior developer at
GETA, in Oslo, Norway
• 12 years of EPiServer experience
• marijorg
EPiServer Find
- A powerful
query engine
Mari Jørgensen
Team leader & Senior
Developer @Geta
Beyond the search page
• More than free text search
• Developer friendly
• Powerful and scalable query platform
• Indexing
• Filtering and caching
• Facets
• Multi search
Agenda
Indexing
.NET Client API
• EPiServer.Find.dll
• Depends on JSON.NET
• No EPiServer dependencies
• Easy install using NuGet
Indexing demo
IClient
Indexing
• IClient interface
• Customize serialization
• Attributes or by convention
• Use bulks, please!
Filtering demo
Filtering
Fast and flexible
• Similar to Where in LINQ
• Use BuildFilter to create complex filters based on user
input
• Know your caching
• Project to limit data traffic
Facets demo
Facets
Aggregated Data
• Terms, Histogram, Filter, Range and
Geographical
• Default size is 10
• Filter vs FilterHits – know the difference!
Multi search
Multi search
• Multiple queries, ONE request
• http://geta.no/blogg/building-an-
advanced-search-page-using-
episerver-find/
Find greatness with Find
Key points to remember
• Scalable, flexible and powerful – be creative
• Always cache*
• Project if you can
*) The query is cached, so be smart when filtering on DateTime
Next Up: LAB
LAB 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 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)
LAB 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 and have chain
specified by user input* (*using Console.ReadLine())
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
Demo and lab code on Github
https://github.com/patkleef/EPiServerFindDemo
Contact information
Patrick
• www.patrickvankleef.com
• patkleef
Mari
• world.episerver.com/Blogs/Mari-
Jorgensen/
• marijorg
Thank you!

More Related Content

What's hot

Building a Recommendation Engine Using Diverse Features by Divyanshu Vats
Building a Recommendation Engine Using Diverse Features by Divyanshu VatsBuilding a Recommendation Engine Using Diverse Features by Divyanshu Vats
Building a Recommendation Engine Using Diverse Features by Divyanshu Vats
Spark Summit
 
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
South London Geek Nights
 

What's hot (20)

Building a Recommendation Engine Using Diverse Features by Divyanshu Vats
Building a Recommendation Engine Using Diverse Features by Divyanshu VatsBuilding a Recommendation Engine Using Diverse Features by Divyanshu Vats
Building a Recommendation Engine Using Diverse Features by Divyanshu Vats
 
SharePoint Search Queries Explained - SPSSthlm 2015
SharePoint Search Queries Explained - SPSSthlm 2015SharePoint Search Queries Explained - SPSSthlm 2015
SharePoint Search Queries Explained - SPSSthlm 2015
 
Deep-Dive to Azure Search
Deep-Dive to Azure SearchDeep-Dive to Azure Search
Deep-Dive to Azure Search
 
Introduce to PredictionIO
Introduce to PredictionIOIntroduce to PredictionIO
Introduce to PredictionIO
 
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
 
Introduction to PredictionIO
Introduction to PredictionIOIntroduction to PredictionIO
Introduction to PredictionIO
 
Azure search
Azure searchAzure search
Azure search
 
Fifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas TalkFifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas Talk
 
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?
 
Adding azuresearch
Adding azuresearchAdding azuresearch
Adding azuresearch
 
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...
 
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
 
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
 
#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects Explained#SalesforceSaturday : Salesforce BIG Objects Explained
#SalesforceSaturday : Salesforce BIG Objects Explained
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in Netflix
 
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo ...
 
Search api d8
Search api d8Search api d8
Search api d8
 
Amundsen at Brex and Looker integration
Amundsen at Brex and Looker integrationAmundsen at Brex and Looker integration
Amundsen at Brex and Looker integration
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop components
 
PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...
 

Viewers also liked (6)

Episerver Forms (fi)
Episerver Forms (fi)Episerver Forms (fi)
Episerver Forms (fi)
 
Automated Testing Of EPiServer CMS Sites
Automated Testing Of EPiServer CMS SitesAutomated Testing Of EPiServer CMS Sites
Automated Testing Of EPiServer CMS Sites
 
EPiServer CMO - Optimize and measure your web campaigns
EPiServer CMO - Optimize and measure your web campaignsEPiServer CMO - Optimize and measure your web campaigns
EPiServer CMO - Optimize and measure your web campaigns
 
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4
 
EPiServer Deployment Tips & Tricks
EPiServer Deployment Tips & TricksEPiServer Deployment Tips & Tricks
EPiServer Deployment Tips & Tricks
 
James Norwood: Future of CMS
James Norwood: Future of CMSJames Norwood: Future of CMS
James Norwood: Future of CMS
 

Similar to Lab EPiServer Find - Advanced developer scenarios

RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
Joaquin Delgado PhD.
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
S. Diana Hu
 
How did it go? The first large enterprise search project in Europe using Shar...
How did it go? The first large enterprise search project in Europe using Shar...How did it go? The first large enterprise search project in Europe using Shar...
How did it go? The first large enterprise search project in Europe using Shar...
Petter Skodvin-Hvammen
 
ESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 SearchESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 Search
Agnes Molnar
 

Similar to Lab EPiServer Find - Advanced developer scenarios (20)

Advanced Elastic Search | Elastic Search | Kibana | Logstash
Advanced Elastic Search | Elastic Search | Kibana | LogstashAdvanced Elastic Search | Elastic Search | Kibana | Logstash
Advanced Elastic Search | Elastic Search | Kibana | Logstash
 
Getting started with Laravel & Elasticsearch
Getting started with Laravel & ElasticsearchGetting started with Laravel & Elasticsearch
Getting started with Laravel & Elasticsearch
 
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
 
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
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 
Webinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchWebinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better Search
 
Implementing Site Search in CQ5 / AEM
Implementing Site Search in CQ5 / AEMImplementing Site Search in CQ5 / AEM
Implementing Site Search in CQ5 / AEM
 
SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...
SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...
SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...
 
Elasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetupElasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetup
 
How did it go? The first large enterprise search project in Europe using Shar...
How did it go? The first large enterprise search project in Europe using Shar...How did it go? The first large enterprise search project in Europe using Shar...
How did it go? The first large enterprise search project in Europe using Shar...
 
Search
SearchSearch
Search
 
SharePoint Search - SPSNYC 2014
SharePoint Search - SPSNYC 2014SharePoint Search - SPSNYC 2014
SharePoint Search - SPSNYC 2014
 
SP24 online conference April 17, 2014 > Real-live experience using cross-site...
SP24 online conference April 17, 2014 > Real-live experience using cross-site...SP24 online conference April 17, 2014 > Real-live experience using cross-site...
SP24 online conference April 17, 2014 > Real-live experience using cross-site...
 
Getting Started with Elasticsearch
Getting Started with ElasticsearchGetting Started with Elasticsearch
Getting Started with Elasticsearch
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
ESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 SearchESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 Search
 
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO...
CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO...
 
Examiness hints and tips from the trenches
Examiness hints and tips from the trenchesExaminess hints and tips from the trenches
Examiness hints and tips from the trenches
 
Increasing Findability with Subject Schemes (Advanced DITA Webinar)
Increasing Findability with Subject Schemes (Advanced DITA Webinar)Increasing Findability with Subject Schemes (Advanced DITA Webinar)
Increasing Findability with Subject Schemes (Advanced DITA Webinar)
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Lab EPiServer Find - Advanced developer scenarios

  • 2. Introduction • Macaw • EPiServer experience • EPiServer MVP • Blogs • Presentations • Forum • www.patrickvankleef.com Patrick van Kleef
  • 3. Agenda • Unified search • Highlighting • Statistics
  • 4. Unified Search • Search on different types • Returns collection of UnifiedSearchHit • ISearchContent • SearchText, SearchTitle,SearchUpdateDate • Define properties or extension methods with the same name • IUnifiedSearchRegistry • Add types • Customize projections Sample _client.UnifiedSearchFor(query) .GetResult(hitSpecification); _client.Conventions .UnifiedSearchRegistry .Add<Company>(); _client.Conventions .UnifiedSearchRegistry .ForInstanceOf<User>() .ProjectTitleFrom(x => x.Name);
  • 5. Unified Search - Projection UnifiedSearchHit Authors, Excerpt, FileExtension, GeoLocation, HitTypeName, ImageUri, MetaData, OriginalObjectGetter, PublishDate, Section, Subsection, Title, TypeName, UpdateDate, Url Unified SearchHit Article page Company User
  • 6.
  • 7. Highlighting Search for ‘to’ impossible to keep up with it all. But, with times constantly changing, we have to do our best to keep up ... that everyone should know more about is FTAs, free to air satellite receivers and files. An FTA receiver
  • 8. Highlighting 01 Number of fragmentsConfigure the number of fragments that should be returned. Default value of this property is 2. 02 Fragment size The length of the fragment can be set with this property. The default value is 100. 03 Concatenation Choose how to seperate the fragments from each other. Default three dots are used to seperate fragments. 04 Post tag Highlighted words are surrounded with HTML tags. Default value is a </em> tag. 05 Pre tag Highlighted words are surrounded with HTML tags. Default value is a <em> tag. impossible to keep up with it all. But, with times constantly changing, we have to do our best to keep up ... that everyone should know more about is FTAs, free to air satellite receivers and files. An FTA receiver
  • 9.
  • 10. Statistics JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST View the most frequent searches 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 searches 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 searches without relevant hits by last 24 hours, week, month or year. The number of click-through rate per search query is show. Searches without relevant hits
  • 11. Statistics - Tracking • Track search queries and click behavior • Enable tracking • Use the StatisticsTrack method • Call the RequiredClientResources method on the layout view • Custom tracking Sample _client.UnifiedSearchFor(query) .StatisticsTrack() .GetResult(hitSpecification); Html.RequiredClientResources(RenderingTa gs.Footer)
  • 12. Statistics - Functionality 01 Autocomplete 02 Did you mean 03 Spellcheck Get search queries from previous visitors. Queries can also be added in the EPiServer Find interface. Use the did you mean functionality to help users find relevant content based on current search query. Use the spellcheck functionality to give suggestions based on current search query.
  • 13. Statistics – Autocomplete • Use .NET client API • Or Javascript • Configure in EPiServer Find UI • Add items • Suggestions based on real search queries Gr Groups Group Searc h Added in UI
  • 14. Statistics – Did you mean • Use .NET client API • Or Javascript • Configure in EPiServer Find UI • Add items • Suggestions based on real search queries Group Collection Company Searc h Added in UI
  • 15. Statistics – Spellcheck • Use .NET client API • Or Javascript • Suggestions based on real search queries Grouz Group Searc h
  • 16.
  • 17. Hotel demo site Allan Thraen: “Want to try out EPiServer Find? Here is an easy way, and fun challenge!” • hotelfinder-episerver.azurewebsites.net • github.com/patkleef/HotelFinderSite • Typed search • Filters • Facets • Geo search
  • 19. About me Mari Jørgensen • Team leader / senior developer at GETA, in Oslo, Norway • 12 years of EPiServer experience • marijorg
  • 20. EPiServer Find - A powerful query engine Mari Jørgensen Team leader & Senior Developer @Geta
  • 21. Beyond the search page • More than free text search • Developer friendly • Powerful and scalable query platform
  • 22. • Indexing • Filtering and caching • Facets • Multi search Agenda
  • 23. Indexing .NET Client API • EPiServer.Find.dll • Depends on JSON.NET • No EPiServer dependencies • Easy install using NuGet
  • 25. IClient Indexing • IClient interface • Customize serialization • Attributes or by convention • Use bulks, please!
  • 27. Filtering Fast and flexible • Similar to Where in LINQ • Use BuildFilter to create complex filters based on user input • Know your caching • Project to limit data traffic
  • 29. Facets Aggregated Data • Terms, Histogram, Filter, Range and Geographical • Default size is 10 • Filter vs FilterHits – know the difference!
  • 30. Multi search Multi search • Multiple queries, ONE request • http://geta.no/blogg/building-an- advanced-search-page-using- episerver-find/
  • 31. Find greatness with Find Key points to remember • Scalable, flexible and powerful – be creative • Always cache* • Project if you can *) The query is cached, so be smart when filtering on DateTime
  • 33. LAB 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 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)
  • 34. LAB 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 and have chain specified by user input* (*using Console.ReadLine()) 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
  • 35. Demo and lab code on Github https://github.com/patkleef/EPiServerFindDemo
  • 36. Contact information Patrick • www.patrickvankleef.com • patkleef Mari • world.episerver.com/Blogs/Mari- Jorgensen/ • marijorg

Editor's Notes

  1. Well documented, world.episerver.com Cashing: No cache key is required as that will be automatically generated from the search request. *DateTime in query! Projection: Less data transfered = smaller response Don’t be afraid to duplicate data