SlideShare a Scribd company logo
NetworkedPlanet

    EasySearch
  Technical Overview
Problem Statement
• Ever seen a website without a full text search?

• BUT
  – Search is expensive
     • Financially
     • Computationally
  – Search is complicated
     • But it doesn’t need to be!
EasySearch
• Simple
  – Easy to install
     • Via EPiServer Manager
     • Easy to configure
           – Edit XML in web.config
           – Extremely flexible configuration model
           – Combine and transform individual page properties
     • Full IntelliSense support inside Visual Studio


• Inexpensive
  – FREE for all non-commercial use
  – NOK30,000 for commercial deployment (approx. £3,000)
  – Enterprise license pricing available on request
Published Source
• Published on EPiCode by BV Network AS
• Bug Tracking
  – If you see a problem, tell us!
• Feature Tracking
  – If you want a feature, tell us!
• Wiki
  – Fostering a user community
Improved Indexing
• Page and files are indexed on EPiServer events
  – Not visible until publication
  – Updated when the page or files are
  – Removed on page or file delete

• No site crawlers
  – Produces unreliable search anyway
  – Much more efficient
  – Pages show up in search results immediately after
    publication
Configuration
  • Configured within web.config
<section name=quot;indexconfigurationquot;
  type=quot;NetworkedPlanet.EasySearch.Lucene.LuceneSystemConfigurationReader,
        NetworkedPlanet.EasySearch.Lucenequot; />



 • Index all page types
     • Joining all string, long string and XHTML properties
 <indexconfiguration />
Configuration 2
   • Index specific page types
<indexonconfiguration
  xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot;
  xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
>
  <pagetype name=“person” />
  <pagetype name=“skill” />
  <pagetype name=“article” />
</indexconfiguration>


  • Index specific properties on a page type
<indexonconfiguration
  xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot;
  xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
>
  <pagetype name=“person”>
    <property name=“description”/>
    <property name=“EPi_PageName”/>
  </pagetype>
</indexconfiguration>
Configuration 3
   • Configure storage of specific fields in Lucene
<indexonconfiguration
  xmlns:lucene=quot;http://www.networkedplanet.com/schema/easysearch/configuration/lucenequot;
  xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot;
  xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
  xsi:type=quot;lucene:LuceneIndexConfigurationquot;>

  <pagetype Name=quot;Personquot;>
    <property Name=quot;description“
              IncludeInCommonContent=quot;true“
              xsi:type=quot;lucene:LuceneProperty“>
      <lucene:field Name=quot;description“
                    FieldStore=quot;NO“
                    FieldTermVector=quot;NOquot;
                    FieldIndex=quot;TOKENIZED“
                    Boost=quot;1.2“ />
      </property>
      <property Name=quot;EPi_PageName“
                IncludeInCommonContent=quot;truequot; />
  </pagetype>
</indexconfiguration>
Configuration 4
   • Configure the Lucene Index
<indexonconfiguration
  xmlns:lucene=quot;http://www.networkedplanet.com/schema/easysearch/configuration/lucenequot;
  xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot;
  xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
  xsi:type=quot;lucene:LuceneIndexConfigurationquot;>

 <lucene:configuration RelativeDirecoryPath=quot;EasySearchLuceneIndexquot;
                       DocumentPrimaryKey=quot;EPi_PageIdquot;
                       DocumentPrimaryKeyField=quot;easysearch_primarykeyquot;
                       DocumentCommonContentField=quot;easysearch_primarycontentquot;
                       IndexWriterMaximumFieldLength=quot;25000quot;>
</indexconfiguration>
EasySearch – Admin Plug-in
• Admin Mode Plug-in
• Index Pages
• Search Site
  – Show entire records
Edit Mode Plug-in
• Coming soon!
• Allows editors to see how their page will be
  indexed.
• Run sample searches to find whether page will be
  found after publication.
• Can be used to prevent/force indexing.
• Allows forced customizations to be made to the
  search record.
• Forces re-indexing of last published.
Developer’s API
• EasySearch Generic API
  – Simple Search API using back-end query parser
  – Lucene back-end supports:
     • Wildcards, Fuzzy Terms, Range Searches, Boosting,
       Boolean operators, Escaping
• Lucene Specific API
  – Provides direct access to the Lucene Query API
  – Ultimately flexible
Event Pipeline
• Developers can customize indexing process.

• Indexing process is pluggable:
  – Intercept indexing of a document for modification
  – Provide .NET code handlers in for modifying or
    creating new indexed fields
Provided Web Parts
• EasySearch comes with 3 ASP.NET Web Parts
   – EasySearchInputWebPart
   – ESSearchResultsWebPart
   – PagingWebPart
• All open source
   – Tailor to your specific site
   – OR use out of the box
• All connections are interface-based
   – Allows easily replacement of individual parts
• Supplied demo page shows them working together
EasySearchInputWebPart
• Captures input:
  – From URL parameters
  – From HTML form input



• Can apply CSS styles
• Hide unwanted fields
ESSearchResultsWebPart
• Produces XML
• Web part allows customization using XSLT & CSS
    <?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?>
    <SearchResults>
      <SearchResult>
        <index>3</index>
        <pageid>2334</pageid>
        <assettype>page</assettype>
        <linkurl>
    /EPiServer1/NetworkedPlanet/EPiServerModuleDemo/Templates/PersonTem
    plate.aspx?id=2334&amp;epslanguage=en</linkurl>
        <title>Terry Walker</title>
        <pagetypename>Person</pagetypename>
        <pagetypeid>6</pagetypeid>
        <preview>The rabbit-hole went straight on like a tunnel for
    some way, and then dipped suddenly down, so suddenly that Alice had
    not a moment to think about stopping herself before she found
    herself falling down a very deep well.</preview>
        <publicationdate>11 Nov 08 02:52</publicationdate>
      </SearchResult>
    </SearchResults>
ESSearchResultsWebPart
• Ships with XSLT for HTML formatted results
PagingWebPart
• Plugs in to ESSearchResultsWebPart
  – Allows paging abilities




• Can apply CSS styles
• Hide unwanted fields
EasySearch Roadmap
•   Internationalization Support – DONE!
•   Security Support - DONE!
•   Integration with EPiServer Module - DONE!
•   Indexing of content in UFS - DONE!
•   Generic Search Results custom control - DONE!
•   Pluggable Search Pipeline - DONE!
•   Federated search via OpenSearch - In Progress
•   Support for multiple EPiServer servers - In Progress
•   Editor plug-in - In Progress
•   Synonym Search
•   Search Statistics
     – What people wanted and didn’t find
     – Common search terms tracking

More Related Content

What's hot

Html5的应用与推行
Html5的应用与推行Html5的应用与推行
Html5的应用与推行
Sofish Lin
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Siarhei Barysiuk
 
Developing PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan FrameworkDeveloping PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan Framework
Raymond Irving
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
rahoulb
 
BDD / cucumber /Capybara
BDD / cucumber /CapybaraBDD / cucumber /Capybara
BDD / cucumber /Capybara
ShraddhaSF
 
Enough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas ZakasEnough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas Zakas
Kubide
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
Droidcon Eastern Europe
 
Using Ember to Make a Bazillion Dollars
Using Ember to Make a Bazillion DollarsUsing Ember to Make a Bazillion Dollars
Using Ember to Make a Bazillion Dollars
Mike Pack
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
Mario Cardinal
 
AJAX Transport Layer
AJAX Transport LayerAJAX Transport Layer
AJAX Transport Layer
Siarhei Barysiuk
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web Components
Andrew Rota
 
Cqrs api
Cqrs apiCqrs api
Cqrs api
Brandon Mueller
 
Selenium sandwich-2
Selenium sandwich-2Selenium sandwich-2
Selenium sandwich-2
Workhorse Computing
 
Aplicación web de reserva
Aplicación web de reservaAplicación web de reserva
Aplicación web de reserva
Wacho Jibaja Olvera
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
Steve Yu
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
postrational
 
Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016
Etiene Dalcol
 

What's hot (19)

Html5的应用与推行
Html5的应用与推行Html5的应用与推行
Html5的应用与推行
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Developing PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan FrameworkDeveloping PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan Framework
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
 
BDD / cucumber /Capybara
BDD / cucumber /CapybaraBDD / cucumber /Capybara
BDD / cucumber /Capybara
 
Enough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas ZakasEnough with the javas cript already! de Nicholas Zakas
Enough with the javas cript already! de Nicholas Zakas
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
 
Using Ember to Make a Bazillion Dollars
Using Ember to Make a Bazillion DollarsUsing Ember to Make a Bazillion Dollars
Using Ember to Make a Bazillion Dollars
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
AJAX Transport Layer
AJAX Transport LayerAJAX Transport Layer
AJAX Transport Layer
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web Components
 
Cqrs api
Cqrs apiCqrs api
Cqrs api
 
Single sign-on
Single sign-onSingle sign-on
Single sign-on
 
Selenium sandwich-2
Selenium sandwich-2Selenium sandwich-2
Selenium sandwich-2
 
Aplicación web de reserva
Aplicación web de reservaAplicación web de reserva
Aplicación web de reserva
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
 
Front End Performance
Front End PerformanceFront End Performance
Front End Performance
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016
 

Viewers also liked

Be Done Pitch
Be Done PitchBe Done Pitch
Be Done Pitch
deckersinc
 
Activ8 Full Services Marketing Kit
Activ8 Full Services Marketing KitActiv8 Full Services Marketing Kit
Activ8 Full Services Marketing Kit
scottostrowski
 
Universal Design Final
Universal Design FinalUniversal Design Final
Universal Design Finalguestd9aa5
 
P17 A New Homes
P17 A New HomesP17 A New Homes
P17 A New Homesguestd9aa5
 
Lib X Bailey Back Access2008
Lib X Bailey Back Access2008Lib X Bailey Back Access2008
Lib X Bailey Back Access2008guestd9aa5
 
Papernotes
PapernotesPapernotes
Papernotes
elinekwantes
 
ACCURATE Presentation
ACCURATE PresentationACCURATE Presentation
ACCURATE Presentation
darwintjoe
 
SAP Production Planning
SAP Production PlanningSAP Production Planning
SAP Production Planning
Rupesh Brahmankar
 
Customizing Share Point The Supported Wa
Customizing Share Point The Supported WaCustomizing Share Point The Supported Wa
Customizing Share Point The Supported Waguestd9aa5
 
6 Host Integration
6 Host Integration6 Host Integration
6 Host Integrationguestd9aa5
 
Mms201 Optimize Your Server Infrastructure
Mms201 Optimize Your Server InfrastructureMms201 Optimize Your Server Infrastructure
Mms201 Optimize Your Server Infrastructureguestd9aa5
 
кой се страхува от сладката овчица
кой се страхува от сладката овчицакой се страхува от сладката овчица
кой се страхува от сладката овчицаNelly Stancheva
 
Petresti School Romania
Petresti School RomaniaPetresti School Romania
Petresti School Romania
Nelly Stancheva
 
Food cooking
Food cookingFood cooking
Food cooking
Nelly Stancheva
 
Ученически съвет
Ученически съветУченически съвет
Ученически съветNelly Stancheva
 
Adfs Shib Interop Um Oxford
Adfs Shib Interop Um OxfordAdfs Shib Interop Um Oxford
Adfs Shib Interop Um Oxfordguestd9aa5
 

Viewers also liked (20)

Be Done Pitch
Be Done PitchBe Done Pitch
Be Done Pitch
 
Activ8 Full Services Marketing Kit
Activ8 Full Services Marketing KitActiv8 Full Services Marketing Kit
Activ8 Full Services Marketing Kit
 
Think Quest
Think QuestThink Quest
Think Quest
 
Revitalash Ppt
Revitalash PptRevitalash Ppt
Revitalash Ppt
 
Universal Design Final
Universal Design FinalUniversal Design Final
Universal Design Final
 
P17 A New Homes
P17 A New HomesP17 A New Homes
P17 A New Homes
 
Ppt B 3
Ppt B 3Ppt B 3
Ppt B 3
 
Lib X Bailey Back Access2008
Lib X Bailey Back Access2008Lib X Bailey Back Access2008
Lib X Bailey Back Access2008
 
Papernotes
PapernotesPapernotes
Papernotes
 
ACCURATE Presentation
ACCURATE PresentationACCURATE Presentation
ACCURATE Presentation
 
SAP Production Planning
SAP Production PlanningSAP Production Planning
SAP Production Planning
 
Customizing Share Point The Supported Wa
Customizing Share Point The Supported WaCustomizing Share Point The Supported Wa
Customizing Share Point The Supported Wa
 
6 Host Integration
6 Host Integration6 Host Integration
6 Host Integration
 
Deroure Repo3
Deroure Repo3Deroure Repo3
Deroure Repo3
 
Mms201 Optimize Your Server Infrastructure
Mms201 Optimize Your Server InfrastructureMms201 Optimize Your Server Infrastructure
Mms201 Optimize Your Server Infrastructure
 
кой се страхува от сладката овчица
кой се страхува от сладката овчицакой се страхува от сладката овчица
кой се страхува от сладката овчица
 
Petresti School Romania
Petresti School RomaniaPetresti School Romania
Petresti School Romania
 
Food cooking
Food cookingFood cooking
Food cooking
 
Ученически съвет
Ученически съветУченически съвет
Ученически съвет
 
Adfs Shib Interop Um Oxford
Adfs Shib Interop Um OxfordAdfs Shib Interop Um Oxford
Adfs Shib Interop Um Oxford
 

Similar to E Pi Server Easy Search Technical Overview

E pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewE pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewwqwqqw wqqww
 
Introduction To Developing Custom Actions Within SharePoint
Introduction To Developing Custom Actions Within SharePointIntroduction To Developing Custom Actions Within SharePoint
Introduction To Developing Custom Actions Within SharePoint
Geoff Varosky
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NET
goodfriday
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMix
Bruce Snyder
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MIT
jeresig
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet Applications
Subramanyan Murali
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
EPiServer Meetup Oslo
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bits
Ciaran Lee
 
Plone Interactivity
Plone InteractivityPlone Interactivity
Plone Interactivity
Eric Steele
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bits
Ciaran Lee
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
Mark Meeker
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBookNet Canada
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web DevelopersNathan Buggia
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
Christopher Schmitt
 
Extending the GFv3 Admin Console
Extending the GFv3 Admin ConsoleExtending the GFv3 Admin Console
Extending the GFv3 Admin Console
Eduardo Pelegri-Llopart
 
Getting More Traffic From Search Advanced Seo For Developers Presentation
Getting More Traffic From Search  Advanced Seo For Developers PresentationGetting More Traffic From Search  Advanced Seo For Developers Presentation
Getting More Traffic From Search Advanced Seo For Developers Presentation
Seo Indonesia
 
Sphinx on Rails
Sphinx on RailsSphinx on Rails
Sphinx on Rails
freelancing_god
 
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript librariesJazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Simon Willison
 
Galaxy
GalaxyGalaxy
Galaxy
bosc
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909Yusuke Wada
 

Similar to E Pi Server Easy Search Technical Overview (20)

E pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewE pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverview
 
Introduction To Developing Custom Actions Within SharePoint
Introduction To Developing Custom Actions Within SharePointIntroduction To Developing Custom Actions Within SharePoint
Introduction To Developing Custom Actions Within SharePoint
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NET
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMix
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MIT
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet Applications
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bits
 
Plone Interactivity
Plone InteractivityPlone Interactivity
Plone Interactivity
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bits
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demo
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web Developers
 
Looking into HTML5
Looking into HTML5Looking into HTML5
Looking into HTML5
 
Extending the GFv3 Admin Console
Extending the GFv3 Admin ConsoleExtending the GFv3 Admin Console
Extending the GFv3 Admin Console
 
Getting More Traffic From Search Advanced Seo For Developers Presentation
Getting More Traffic From Search  Advanced Seo For Developers PresentationGetting More Traffic From Search  Advanced Seo For Developers Presentation
Getting More Traffic From Search Advanced Seo For Developers Presentation
 
Sphinx on Rails
Sphinx on RailsSphinx on Rails
Sphinx on Rails
 
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript librariesJazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
Jazz up your JavaScript: Unobtrusive scripting with JavaScript libraries
 
Galaxy
GalaxyGalaxy
Galaxy
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909
 

More from guestd9aa5

Writing+A+Literature+Review
Writing+A+Literature+ReviewWriting+A+Literature+Review
Writing+A+Literature+Reviewguestd9aa5
 
Hardening Enterprise Apache
Hardening Enterprise ApacheHardening Enterprise Apache
Hardening Enterprise Apacheguestd9aa5
 
Lapointe Ia 260 Using Content Types To Improve Discoverability
Lapointe Ia 260 Using Content Types To Improve DiscoverabilityLapointe Ia 260 Using Content Types To Improve Discoverability
Lapointe Ia 260 Using Content Types To Improve Discoverabilityguestd9aa5
 
Chap1 Cap Capital
Chap1 Cap CapitalChap1 Cap Capital
Chap1 Cap Capitalguestd9aa5
 

More from guestd9aa5 (7)

Writing+A+Literature+Review
Writing+A+Literature+ReviewWriting+A+Literature+Review
Writing+A+Literature+Review
 
Hardening Enterprise Apache
Hardening Enterprise ApacheHardening Enterprise Apache
Hardening Enterprise Apache
 
Nerdhazards
NerdhazardsNerdhazards
Nerdhazards
 
Pc54
Pc54Pc54
Pc54
 
Ppt C 1
Ppt C 1Ppt C 1
Ppt C 1
 
Lapointe Ia 260 Using Content Types To Improve Discoverability
Lapointe Ia 260 Using Content Types To Improve DiscoverabilityLapointe Ia 260 Using Content Types To Improve Discoverability
Lapointe Ia 260 Using Content Types To Improve Discoverability
 
Chap1 Cap Capital
Chap1 Cap CapitalChap1 Cap Capital
Chap1 Cap Capital
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

E Pi Server Easy Search Technical Overview

  • 1. NetworkedPlanet EasySearch Technical Overview
  • 2. Problem Statement • Ever seen a website without a full text search? • BUT – Search is expensive • Financially • Computationally – Search is complicated • But it doesn’t need to be!
  • 3. EasySearch • Simple – Easy to install • Via EPiServer Manager • Easy to configure – Edit XML in web.config – Extremely flexible configuration model – Combine and transform individual page properties • Full IntelliSense support inside Visual Studio • Inexpensive – FREE for all non-commercial use – NOK30,000 for commercial deployment (approx. £3,000) – Enterprise license pricing available on request
  • 4. Published Source • Published on EPiCode by BV Network AS • Bug Tracking – If you see a problem, tell us! • Feature Tracking – If you want a feature, tell us! • Wiki – Fostering a user community
  • 5. Improved Indexing • Page and files are indexed on EPiServer events – Not visible until publication – Updated when the page or files are – Removed on page or file delete • No site crawlers – Produces unreliable search anyway – Much more efficient – Pages show up in search results immediately after publication
  • 6. Configuration • Configured within web.config <section name=quot;indexconfigurationquot; type=quot;NetworkedPlanet.EasySearch.Lucene.LuceneSystemConfigurationReader, NetworkedPlanet.EasySearch.Lucenequot; /> • Index all page types • Joining all string, long string and XHTML properties <indexconfiguration />
  • 7. Configuration 2 • Index specific page types <indexonconfiguration xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot; > <pagetype name=“person” /> <pagetype name=“skill” /> <pagetype name=“article” /> </indexconfiguration> • Index specific properties on a page type <indexonconfiguration xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot; > <pagetype name=“person”> <property name=“description”/> <property name=“EPi_PageName”/> </pagetype> </indexconfiguration>
  • 8. Configuration 3 • Configure storage of specific fields in Lucene <indexonconfiguration xmlns:lucene=quot;http://www.networkedplanet.com/schema/easysearch/configuration/lucenequot; xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot; xsi:type=quot;lucene:LuceneIndexConfigurationquot;> <pagetype Name=quot;Personquot;> <property Name=quot;description“ IncludeInCommonContent=quot;true“ xsi:type=quot;lucene:LuceneProperty“> <lucene:field Name=quot;description“ FieldStore=quot;NO“ FieldTermVector=quot;NOquot; FieldIndex=quot;TOKENIZED“ Boost=quot;1.2“ /> </property> <property Name=quot;EPi_PageName“ IncludeInCommonContent=quot;truequot; /> </pagetype> </indexconfiguration>
  • 9. Configuration 4 • Configure the Lucene Index <indexonconfiguration xmlns:lucene=quot;http://www.networkedplanet.com/schema/easysearch/configuration/lucenequot; xmlns=quot;http://www.networkedplanet.com/schema/easysearch/configurationquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot; xsi:type=quot;lucene:LuceneIndexConfigurationquot;> <lucene:configuration RelativeDirecoryPath=quot;EasySearchLuceneIndexquot; DocumentPrimaryKey=quot;EPi_PageIdquot; DocumentPrimaryKeyField=quot;easysearch_primarykeyquot; DocumentCommonContentField=quot;easysearch_primarycontentquot; IndexWriterMaximumFieldLength=quot;25000quot;> </indexconfiguration>
  • 10. EasySearch – Admin Plug-in • Admin Mode Plug-in • Index Pages • Search Site – Show entire records
  • 11. Edit Mode Plug-in • Coming soon! • Allows editors to see how their page will be indexed. • Run sample searches to find whether page will be found after publication. • Can be used to prevent/force indexing. • Allows forced customizations to be made to the search record. • Forces re-indexing of last published.
  • 12. Developer’s API • EasySearch Generic API – Simple Search API using back-end query parser – Lucene back-end supports: • Wildcards, Fuzzy Terms, Range Searches, Boosting, Boolean operators, Escaping • Lucene Specific API – Provides direct access to the Lucene Query API – Ultimately flexible
  • 13. Event Pipeline • Developers can customize indexing process. • Indexing process is pluggable: – Intercept indexing of a document for modification – Provide .NET code handlers in for modifying or creating new indexed fields
  • 14. Provided Web Parts • EasySearch comes with 3 ASP.NET Web Parts – EasySearchInputWebPart – ESSearchResultsWebPart – PagingWebPart • All open source – Tailor to your specific site – OR use out of the box • All connections are interface-based – Allows easily replacement of individual parts • Supplied demo page shows them working together
  • 15. EasySearchInputWebPart • Captures input: – From URL parameters – From HTML form input • Can apply CSS styles • Hide unwanted fields
  • 16. ESSearchResultsWebPart • Produces XML • Web part allows customization using XSLT & CSS <?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?> <SearchResults> <SearchResult> <index>3</index> <pageid>2334</pageid> <assettype>page</assettype> <linkurl> /EPiServer1/NetworkedPlanet/EPiServerModuleDemo/Templates/PersonTem plate.aspx?id=2334&amp;epslanguage=en</linkurl> <title>Terry Walker</title> <pagetypename>Person</pagetypename> <pagetypeid>6</pagetypeid> <preview>The rabbit-hole went straight on like a tunnel for some way, and then dipped suddenly down, so suddenly that Alice had not a moment to think about stopping herself before she found herself falling down a very deep well.</preview> <publicationdate>11 Nov 08 02:52</publicationdate> </SearchResult> </SearchResults>
  • 17. ESSearchResultsWebPart • Ships with XSLT for HTML formatted results
  • 18. PagingWebPart • Plugs in to ESSearchResultsWebPart – Allows paging abilities • Can apply CSS styles • Hide unwanted fields
  • 19. EasySearch Roadmap • Internationalization Support – DONE! • Security Support - DONE! • Integration with EPiServer Module - DONE! • Indexing of content in UFS - DONE! • Generic Search Results custom control - DONE! • Pluggable Search Pipeline - DONE! • Federated search via OpenSearch - In Progress • Support for multiple EPiServer servers - In Progress • Editor plug-in - In Progress • Synonym Search • Search Statistics – What people wanted and didn’t find – Common search terms tracking

Editor's Notes

  1. This presentation provides a technical overview of EasySearch product from Networked Planet
  2. These are the standard problems associated with search.How many times have you heard people use 6 figures to describe the amount of money spent on just their search…. … and then it still didn’t give you the search results you expected it to.
  3. EasySearch is a name we’re really happy with, it combined the two most important things we wanted to achieve. The “Search” is obvious, however what we really wanted was “Easy”.