SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von guru122

Anne Meininger Usa
Anne Meininger UsaAnne Meininger Usa
Anne Meininger Usaguru122
 
Vct Ver. Polska
Vct Ver. PolskaVct Ver. Polska
Vct Ver. Polskaguru122
 
Animations
AnimationsAnimations
Animationsguru122
 
Bilgi Seminerleri1
Bilgi Seminerleri1Bilgi Seminerleri1
Bilgi Seminerleri1guru122
 
Marinier Laird Cogsci 2008 Emotionrl Pres
Marinier Laird Cogsci 2008 Emotionrl PresMarinier Laird Cogsci 2008 Emotionrl Pres
Marinier Laird Cogsci 2008 Emotionrl Presguru122
 
Britwear
BritwearBritwear
Britwearguru122
 
Customizing Share Point The Supported Wa
Customizing Share Point The Supported WaCustomizing Share Point The Supported Wa
Customizing Share Point The Supported Waguru122
 
Deroure Repo3
Deroure Repo3Deroure Repo3
Deroure Repo3guru122
 
Chap1 Cap Capital
Chap1 Cap CapitalChap1 Cap Capital
Chap1 Cap Capitalguru122
 
Adfs Shib Interop Um Oxford
Adfs Shib Interop Um OxfordAdfs Shib Interop Um Oxford
Adfs Shib Interop Um Oxfordguru122
 
6 Host Integration
6 Host Integration6 Host Integration
6 Host Integrationguru122
 

Mehr von guru122 (13)

chap1-
chap1-chap1-
chap1-
 
Anne Meininger Usa
Anne Meininger UsaAnne Meininger Usa
Anne Meininger Usa
 
Vct Ver. Polska
Vct Ver. PolskaVct Ver. Polska
Vct Ver. Polska
 
Animations
AnimationsAnimations
Animations
 
Bilgi Seminerleri1
Bilgi Seminerleri1Bilgi Seminerleri1
Bilgi Seminerleri1
 
Ucl
UclUcl
Ucl
 
Marinier Laird Cogsci 2008 Emotionrl Pres
Marinier Laird Cogsci 2008 Emotionrl PresMarinier Laird Cogsci 2008 Emotionrl Pres
Marinier Laird Cogsci 2008 Emotionrl Pres
 
Britwear
BritwearBritwear
Britwear
 
Customizing Share Point The Supported Wa
Customizing Share Point The Supported WaCustomizing Share Point The Supported Wa
Customizing Share Point The Supported Wa
 
Deroure Repo3
Deroure Repo3Deroure Repo3
Deroure Repo3
 
Chap1 Cap Capital
Chap1 Cap CapitalChap1 Cap Capital
Chap1 Cap Capital
 
Adfs Shib Interop Um Oxford
Adfs Shib Interop Um OxfordAdfs Shib Interop Um Oxford
Adfs Shib Interop Um Oxford
 
6 Host Integration
6 Host Integration6 Host Integration
6 Host Integration
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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?
 

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

Hinweis der Redaktion

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