39
The 8.5 Search Architecture

Ektron 8.5 RC - Search

Embed Size (px)

Citation preview

Page 1: Ektron 8.5 RC - Search

The 8.5 Search Architecture

Page 2: Ektron 8.5 RC - Search

Bill Cava• Chief Evangelist, Ektron• http://twitter.com/billcava• [email protected]

Page 3: Ektron 8.5 RC - Search
Page 4: Ektron 8.5 RC - Search

AGENDA & OVERVIEW

• What’s New in 8.5 Search

• Search Design Considerations

• Search Developer Experience

– Keyword Query Syntax

– Search Framework API

– Search Framework UI – Templated Controls

• Search Architecture

– Crawling, Querying, Ranking, Diagnostics

• Hardware/Software Requirements

Page 5: Ektron 8.5 RC - Search

8.5 SEARCH - OVERVIEW

• Microsoft

Search Technology

• Supports All Types of Content

• Features Include• Faceted Navigation

• Narrow/Expand Queries Based on Taxonomies

• Suggested Results• “Did you mean?”

• Federated Search• Search Ektron, SharePoint, SAP, OpenText, IBM, Etc.

• Dynamic Relevancy• Re-Order Search Results Based On User Behavior

• Search High Availability Upgrade• Clustered, Enterprise Scalable Search Capability

Page 6: Ektron 8.5 RC - Search

GETTING THINGS SETUP

Documentation• http://bit.ly/ektron-85-search-docs

– Installing and Configuration of Ektron Search

– Installing Search Server

– Understanding the Search Crawl

– Searching a Website

Upcoming Screencast• Installation & Configuration of Search

Server

Page 7: Ektron 8.5 RC - Search

WHO USES SEARCH? WHAT DO THEY WANT?

Site Visitors

• A modern site

search experience

• Google & Bing like

features

• Fast & relevant

search results

• Auto corrections

• “Search just works”

Developers

• An API to query for

content across

properties

• A fast and reliable way

to retrieve content

• Insight into the crawling

process

• Insight into underlying

queries and results

returned

Page 8: Ektron 8.5 RC - Search

WHAT IS “SITE SEARCH?”

• Search as Navigation

• Site Search vs. Internet Search

• Search strategy, defined goals

• Features support strategy

Page 9: Ektron 8.5 RC - Search

WHAT IS “APPLICATION SEARCH?”

• Use your search for more than

simply site-search

• Search index has

denormalized view of content

• Uses a Search API to deliver

dynamic lists of data

Page 10: Ektron 8.5 RC - Search

APPLICATION SEARCH BASED DELIVERY

• Denormalized search index

• Search cross-cutting properties

–Provide a content list based on a folder, tagged with a category, with certain metadata.

• Strength of Site Search

Page 11: Ektron 8.5 RC - Search

• Usability

– A compact API; performs complex searches

using short, expressive syntax

• Extensibility

– Abstraction layer over search

– Provides future proofing for future releases

– An upgrade safe search and a maintainable

search platform

“We have made a very strong effort into producing a usable and extensible Search API in the 8.5 Release” – Chris Banner, 8.5 Search Engineer @ ektron

Page 12: Ektron 8.5 RC - Search

DEVELOPER EXPERIENCE

3 Ways to Retrieve Search Results

• Keyword Query Syntax

• Search Framework API

• Search Framework UI’s Templated

Server Controls

Page 13: Ektron 8.5 RC - Search

KEYWORD QUERY SYNTAX

• Basic Search

• Boolean Operators – AND, OR, NOT

• Group phrases w/ parens – ((a OR b) AND c)

• Wildcards – run*, account*

• Managed Properties – contentId, folderId

• Metadata – ektron/metadata/[name]/[type] > 0

• SmartForm Data – ektron/sf/[name]/[type] : “value”

Page 14: Ektron 8.5 RC - Search

INTRO TO SEARCH FRAMEWORK API

Three Elements of Search

Framework API

• Search Manager– manager.Search(criteria)

• Search Criteria– criteria.QueryText = "ektron";

• SearchResponse Data Type

Page 15: Ektron 8.5 RC - Search

SEARCH MANAGER

using Ektron.Cms.Framework.Search;

SearchManager manager =

new SearchManager();

SearchManager manager =

new SearchManager(ApiAccessMode.Admin);

SearchManager manager =

new SearchManager(

ApiAccessMode.LoggedInUser);

Page 16: Ektron 8.5 RC - Search

SEARCH CRITERIA

using Ektron.Cms.Framework.Search;

KeywordSearchCriteria criteria = newKeywordSearchCriteria();

criteria.QueryText = "ektron";

Page 17: Ektron 8.5 RC - Search

ADVANCED SEARCH CRITERIA

using Ektron.Cms.Framework.Search;

AdvancedSearchCriteria criteria = new AdvancedSearchCriteria();

criteria.ExpressionTree = SearchContentProperty.Title.Contains("web");

Page 18: Ektron 8.5 RC - Search

ADVANCED SEARCH CRITERIA

using Ektron.Cms.Framework.Search;

AdvancedSearchCriteria criteria = new AdvancedSearchCriteria();

criteria.ExpressionTree = SearchContentProperty.Title.Contains("web") & !SearchContentProperty.Title.Contains("cms");

Page 19: Ektron 8.5 RC - Search

ADVANCED SEARCH CRITERIA

using Ektron.Cms.Framework.Search;

AdvancedSearchCriteria criteria = new AdvancedSearchCriteria();

criteria.ExpressionTree = (SearchContentProperty.Title.Contains("web") & !SearchContentProperty.Title.Contains("cms")) |

SearchContentProperty.Title.Contains(“ektron");

Page 20: Ektron 8.5 RC - Search

ADVANCED SEARCH CRITERIA

SearchContentProperty.Title

SearchContentProperty.DateCreated

SearchContentProperty.Private

SearchContentProperty.FolderName

SearchContentProperty.Id

SearchContentProperty.ExpiryDate

SearchContentProperty.ExpiryType

SearchContentProperty.Author

... only a subset, dozens more available

Page 21: Ektron 8.5 RC - Search

FRAMEWORK API VS SEARCH API?

Framework API

• Returned a

ContentData object

• Queries against the

source of truth

• Querying against

ContentData

properties

• Simple criteria using

Filters

Search API

• Returned a

SearchResult object

• Search Indexes aren’t

instantly updated

• Querying against

properties that span

types (taxonomy, etc)

• Complex criteria using

expression trees

Page 22: Ektron 8.5 RC - Search

DEMO:

SEARCH FRAMEWORK API

Page 23: Ektron 8.5 RC - Search

SEARCH FRAMEWORK UI

TEMPLATED SERVER CONTROLS

“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

• Tight, semantic markup means

designers customize the look and feel

just by using CSS

• No XSLT needed. Markup controlled

using ASP.NET templates

Page 24: Ektron 8.5 RC - Search

SEARCH FRAMEWORK UI

TEMPLATED SERVER CONTROLS

• SiteSearch– Site Search Interface

– Simple controls

– No JavaScript Dependencies

• UserSearch

• ProductSearch

• XmlSearch

Page 25: Ektron 8.5 RC - Search

DEMO:

SEARCH TEMPLATED CONTROLS

Page 26: Ektron 8.5 RC - Search

WHAT ABOUT UPGRADES?

If you use the …

• Legacy Search Server Controls (pre-8.5)

• Legacy Search API (pre-8.5)

Then …

• Your upgraded site will route through new architecture

• Recommended to upgrade code to use the new APIs & Controls

Page 27: Ektron 8.5 RC - Search

WHAT ABOUT UPGRADES?

If you wrote CISSO queries …

• Need to rewrite queries to use the new

Search API or Server Controls

If you used Integrated Search feature

• Needs to be reconfigured to use 8.5

Federated Search capabilities

Page 28: Ektron 8.5 RC - Search

SEARCH ARCHITECTURE

Page 29: Ektron 8.5 RC - Search

WHAT IS CRAWLING?

A crawl is the process by which search server

pulls data from the CMS to construct its

internal indexes

Page 30: Ektron 8.5 RC - Search

CRAWL TYPES

Full Crawl

• Indexes the entire CMS database

• Metadata Definitions

• Smart Form Definitions

Incremental Crawl

• Indexes data from the CMS that has changed since the last crawl

• 5 minute window by default

Page 31: Ektron 8.5 RC - Search

CRAWLING PROCESS

Page 32: Ektron 8.5 RC - Search

QUERYING PROCESS

Page 33: Ektron 8.5 RC - Search

DIAGNOSTIC TOOLS &

ADMINISTRATION CONSOLE

• Status information on crawling process

• Readily accessible through the

Workarea

• Advanced information through

Microsoft Search Server Admnistrative

Console

Page 34: Ektron 8.5 RC - Search

HARDWARE REQUIREMENTS

Processor Requirements

– 64-bit, Quadcore

RAM Requirements

– For development: 4 GB

– For evaluation or single-server production

use: 8 GB

– For multiple-server production use: 16 GB

Page 35: Ektron 8.5 RC - Search

For SQL Server used by Search Server

Total size of content databases

Recommended RAM

Minimum for multiple-server farm

16 GB

Up to 2 terabytes 32 GB

2 terabytes to 5 terabytes 64 GB

5 terabytes to 10 terabytes

64 GB to 128 GB

Page 36: Ektron 8.5 RC - Search

Disk Space

–Rule of Thumb: Index size + 80 GB

free space, plus 2x the ram on the

production

Note

–Search stores full-text index file on

the file system of the query servers

Page 37: Ektron 8.5 RC - Search

SOFTWARE REQUIREMENTS

Operating System

– The 64-bit edition of Windows Server

2008 Standard, Enterprise, Data

Center, or Web Server with Service

Pack 2 (SP2).

– The 64-bit edition of Windows Server

2008 R2 Standard, Enterprise, Data

Center, or Web Server.

Page 38: Ektron 8.5 RC - Search

Database Server

– The 64-bit edition of Microsoft SQL

Server 2008 with Service Pack 1 (SP1)

and Cumulative Update 2

(CU2), CU5 or CU6.

– The 64-bit edition of Microsoft SQL

Server 2005 with Service Pack 3 (SP3)

–Microsoft SQL Server 2008 R2

SOFTWARE REQUIREMENTS

Page 39: Ektron 8.5 RC - Search

Questions?

Bill Cava• Chief Evangelist, Ektron• http://twitter.com/billcava• [email protected]