NetworkedPlanet

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

• BUT
  – Search is expensive
     • Financially
    ...
EasySearch
• Simple
  – Easy to install
     • Via EPiServer Manager
     • Easy to configure
           – Edit XML in web...
Published Source
• Published on EPiCode by BV Network AS
• Bug Tracking
  – If you see a problem, tell us!
• Feature Track...
Improved Indexing
• Page and files are indexed on EPiServer events
  – Not visible until publication
  – Updated when the ...
Configuration
  • Configured within web.config
<section name=quot;indexconfigurationquot;
  type=quot;NetworkedPlanet.Easy...
Configuration 2
   • Index specific page types
<indexonconfiguration
  xmlns=quot;http://www.networkedplanet.com/schema/ea...
Configuration 3
   • Configure storage of specific fields in Lucene
<indexonconfiguration
  xmlns:lucene=quot;http://www.n...
Configuration 4
   • Configure the Lucene Index
<indexonconfiguration
  xmlns:lucene=quot;http://www.networkedplanet.com/s...
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 w...
Developer’s API
• EasySearch Generic API
  – Simple Search API using back-end query parser
  – Lucene back-end supports:
 ...
Event Pipeline
• Developers can customize indexing process.

• Indexing process is pluggable:
  – Intercept indexing of a ...
Provided Web Parts
• EasySearch comes with 3 ASP.NET Web Parts
   – EasySearchInputWebPart
   – ESSearchResultsWebPart
   ...
EasySearchInputWebPart
• Captures input:
  – From URL parameters
  – From HTML form input



• Can apply CSS styles
• Hide...
ESSearchResultsWebPart
• Produces XML
• Web part allows customization using XSLT & CSS
    <?xml version=quot;1.0quot; enc...
ESSearchResultsWebPart
• Ships with XSLT for HTML formatted results
PagingWebPart
• Plugs in to ESSearchResultsWebPart
  – Allows paging abilities




• Can apply CSS styles
• Hide unwanted ...
EasySearch Roadmap
•   Internationalization Support – DONE!
•   Security Support - DONE!
•   Integration with EPiServer Mo...
Upcoming SlideShare
Loading in …5
×

E Pi Server Easy Search Technical Overview

1,195 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,195
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This presentation provides a technical overview of EasySearch product from Networked Planet
  • 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.
  • 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”.
  • E Pi Server Easy Search Technical Overview

    1. 1. NetworkedPlanet EasySearch Technical Overview
    2. 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. 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. 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. 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. 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. 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. 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. 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. 10. EasySearch – Admin Plug-in • Admin Mode Plug-in • Index Pages • Search Site – Show entire records
    11. 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. 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. 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. 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. 15. EasySearchInputWebPart • Captures input: – From URL parameters – From HTML form input • Can apply CSS styles • Hide unwanted fields
    16. 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. 17. ESSearchResultsWebPart • Ships with XSLT for HTML formatted results
    18. 18. PagingWebPart • Plugs in to ESSearchResultsWebPart – Allows paging abilities • Can apply CSS styles • Hide unwanted fields
    19. 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

    ×