SlideShare a Scribd company logo
1 of 19
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 ApplicationsSiarhei 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 FrameworkRaymond Irving
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Storiesrahoulb
 
BDD / cucumber /Capybara
BDD / cucumber /CapybaraBDD / cucumber /Capybara
BDD / cucumber /CapybaraShraddhaSF
 
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 ZakasKubide
 
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 DollarsMike 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
 
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 ComponentsAndrew Rota
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tipSteve Yu
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecturepostrational
 
Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016Web development in Lua @ FOSDEM 2016
Web development in Lua @ FOSDEM 2016Etiene 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

Activ8 Full Services Marketing Kit
Activ8 Full Services Marketing KitActiv8 Full Services Marketing Kit
Activ8 Full Services Marketing Kitscottostrowski
 
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
 
ACCURATE Presentation
ACCURATE PresentationACCURATE Presentation
ACCURATE Presentationdarwintjoe
 
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
 
Ученически съвет
Ученически съветУченически съвет
Ученически съвет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 SharePointGeoff Varosky
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NETgoodfriday
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixBruce Snyder
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MITjeresig
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet ApplicationsSubramanyan Murali
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bitsCiaran Lee
 
Plone Interactivity
Plone InteractivityPlone Interactivity
Plone InteractivityEric Steele
 
RateMyArea - interesting rails bits
RateMyArea - interesting rails bitsRateMyArea - interesting rails bits
RateMyArea - interesting rails bitsCiaran Lee
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyMark 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
 
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 PresentationSeo Indonesia
 
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 librariesSimon Willison
 
Galaxy
GalaxyGalaxy
Galaxybosc
 
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

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

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”.