Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ektron 8.5 RC - Search

Slides from Bill Cava's webinar on 8.5 Search. In this webinar, Bill Cava covers architecture, design, developer experience, and more.

  • Login to see the comments

  • Be the first to like this

Ektron 8.5 RC - Search

  1. 1. The 8.5 Search Architecture<br />
  2. 2. Bill Cava<br /><ul><li>Chief Evangelist, Ektron
  3. 3.
  4. 4.</li></li></ul><li>
  5. 5. Agenda & Overview<br />What’s New in 8.5 Search <br />Search Design Considerations<br />Search Developer Experience<br />Keyword Query Syntax<br />Search Framework API<br />Search Framework UI – Templated Controls<br />Search Architecture<br />Crawling, Querying, Ranking, Diagnostics<br />Hardware/Software Requirements<br />
  6. 6. 8.5 Search - Overview<br /><ul><li>Microsoft Search Technology
  7. 7. Supports All Types of Content
  8. 8. Features Include
  9. 9. Faceted Navigation
  10. 10. Narrow/Expand Queries Based on Taxonomies
  11. 11. Suggested Results
  12. 12. “Did you mean?”
  13. 13. Federated Search
  14. 14. Search Ektron, SharePoint, SAP, OpenText, IBM, Etc.
  15. 15. Dynamic Relevancy
  16. 16. Re-Order Search Results Based On User Behavior
  17. 17. Search High Availability Upgrade
  18. 18. Clustered, Enterprise Scalable Search Capability</li></li></ul><li>Getting Things Setup<br />Documentation<br /><br />Installing and Configuration of Ektron Search<br />Installing Search Server<br />Understanding the Search Crawl<br />Searching a Website<br />Upcoming Screencast<br />Installation & Configuration of Search Server <br />
  19. 19. Who Uses Search? What do they Want?<br />Site Visitors<br />Developers<br />A modern site search experience<br />Google & Bing like features<br />Fast & relevant search results<br />Auto corrections<br />“Search just works”<br />An API to query for content across properties<br />A fast and reliable way to retrieve content<br />Insight into the crawling process<br />Insight into underlying queries and results returned<br />
  20. 20. What is “Site Search?”<br />Search as Navigation<br />Site Search vs. Internet Search<br />Search strategy, defined goals<br />Features support strategy<br />
  21. 21. What is “Application Search?”<br />Use your search for more than simply site-search<br />Search index has denormalized view of content<br />Uses a Search API to deliver dynamic lists of data<br />
  22. 22. Application Search Based Delivery<br />Denormalized search index<br />Search cross-cutting properties<br />Provide a content list based on a folder, tagged with a category, with certain metadata.<br />Strength of Site Search<br />
  23. 23. “We have made a very strong effort into producing a usableand extensibleSearch API in the 8.5 Release” – Chris Banner, 8.5 Search Engineer @ ektron<br />Usability<br />A compact API; performs complex searches using short, expressive syntax<br />Extensibility<br />Abstraction layer over search<br />Provides future proofing for future releases<br />An upgrade safe search and a maintainable search platform<br />
  24. 24. Developer Experience<br />3 Ways to Retrieve Search Results<br />Keyword Query Syntax<br />Search Framework API<br />Search Framework UI’s Templated Server Controls<br />
  25. 25. Keyword Query Syntax<br />Basic Search<br />Boolean Operators – AND, OR, NOT<br />Group phrases w/ parens– ((a OR b) AND c)<br />Wildcards – run*, account*<br />Managed Properties – contentId, folderId<br />Metadata – ektron/metadata/[name]/[type] > 0<br />SmartForm Data – ektron/sf/[name]/[type] : “value”<br />
  26. 26. Intro to Search Framework API<br />Three Elements of Search Framework API<br />Search Manager<br />manager.Search(criteria)<br />Search Criteria<br />criteria.QueryText= "ektron";<br />SearchResponse Data Type<br />
  27. 27. Search Manager<br />usingEktron.Cms.Framework.Search;<br />SearchManagermanager = <br />newSearchManager();<br />SearchManagermanager = <br />newSearchManager(ApiAccessMode.Admin);<br />SearchManagermanager = <br />newSearchManager(<br />ApiAccessMode.LoggedInUser);<br />
  28. 28. Search Criteria<br />usingEktron.Cms.Framework.Search;<br />KeywordSearchCriteriacriteria = newKeywordSearchCriteria();<br />criteria.QueryText = "ektron";<br />
  29. 29. Advanced Search Criteria<br />usingEktron.Cms.Framework.Search;<br />AdvancedSearchCriteriacriteria = new AdvancedSearchCriteria();<br />criteria.ExpressionTree = SearchContentProperty.Title.Contains("web");<br />
  30. 30. Advanced Search Criteria<br />usingEktron.Cms.Framework.Search;<br />AdvancedSearchCriteriacriteria = new AdvancedSearchCriteria();<br />criteria.ExpressionTree = SearchContentProperty.Title.Contains("web") & !SearchContentProperty.Title.Contains("cms");<br />
  31. 31. Advanced Search Criteria<br />usingEktron.Cms.Framework.Search;<br />AdvancedSearchCriteriacriteria = new AdvancedSearchCriteria();<br />criteria.ExpressionTree = (SearchContentProperty.Title.Contains("web") & !SearchContentProperty.Title.Contains("cms")) |<br />SearchContentProperty.Title.Contains(“ektron");<br />
  32. 32. Advanced Search Criteria<br />SearchContentProperty.Title<br />SearchContentProperty.DateCreated<br />SearchContentProperty.Private<br />SearchContentProperty.FolderName<br />SearchContentProperty.Id<br />SearchContentProperty.ExpiryDate<br />SearchContentProperty.ExpiryType<br />SearchContentProperty.Author<br />... only a subset, dozens more available<br />
  33. 33. Framework API vs Search API?<br />Framework API<br />Returned a ContentData object<br />Queries against the source of truth<br />Querying against ContentData properties<br />Simple criteria using Filters<br />Search API<br />Returned a SearchResult object<br />Search Indexes aren’t instantly updated<br />Querying against properties that span types (taxonomy, etc)<br />Complex criteria using expression trees<br />
  34. 34. Demo:Search Framework API<br />
  35. 35. Search Framework UI Templated Server Controls<br />“We built the templated controls to be a base for our customers to use to build their websites. They’re designed to be flexible.” – Steve Mann, 8.5 Search Engineer<br />Tight, semantic markup means designers customize the look and feel just by using CSS<br />No XSLT needed. Markup controlled using ASP.NET templates<br />
  36. 36. Search Framework UI Templated Server Controls<br />SiteSearch<br />Site Search Interface<br />Simple controls<br />No JavaScript Dependencies<br />UserSearch<br />ProductSearch<br />XmlSearch<br />
  37. 37. Demo: search Templated controls<br />
  38. 38. What About Upgrades?<br />If you use the …<br />Legacy Search Server Controls (pre-8.5)<br />Legacy Search API (pre-8.5)<br />Then …<br />Your upgraded site will route through new architecture<br />Recommended to upgrade code to use the new APIs & Controls<br />
  39. 39. What About Upgrades?<br />If you wrote CISSO queries …<br />Need to rewrite queries to use the new Search API or Server Controls<br />If you used Integrated Search feature<br />Needs to be reconfigured to use 8.5 Federated Search capabilities <br />
  40. 40. Search Architecture<br />
  41. 41. What is crawling?<br />A crawl is the process by which search server pulls data from the CMS to construct its internal indexes<br />
  42. 42. Crawl Types<br />
  43. 43. Crawling Process<br />
  44. 44. Querying Process<br />
  45. 45. Diagnostic tools & Administration Console<br />Status information on crawling process<br />Readily accessible through the Workarea<br />Advanced information through Microsoft Search Server Admnistrative Console<br />
  46. 46. Hardware Requirements<br />Processor Requirements<br />64-bit, Quadcore<br />RAM Requirements<br />For development: 4 GB<br />For evaluation or single-server production use: 8 GB <br />For multiple-server production use: 16 GB<br />
  47. 47. For SQL Server used by Search Server<br />
  48. 48. Disk Space<br />Rule of Thumb: Index size + 80 GB free space, plus 2x the ram on the production<br />Note<br />Search stores full-text index file on the file system of the query servers<br />
  49. 49. Software Requirements<br />Operating System<br />The 64-bit edition of Windows Server 2008 Standard, Enterprise, Data Center, or Web Server with Service Pack 2 (SP2). <br />The 64-bit edition of Windows Server 2008 R2 Standard, Enterprise, Data Center, or Web Server.<br />
  50. 50. Database Server<br />The 64-bit edition of Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 (CU2), CU5 or CU6. <br />The 64-bit edition of Microsoft SQL Server 2005 with Service Pack 3 (SP3)<br />Microsoft SQL Server 2008 R2<br />Software Requirements<br />
  51. 51. Questions?<br />Bill Cava<br /><ul><li>Chief Evangelist, Ektron
  52. 52.
  53. 53.</li>