SRC303: Search in Microsoft Office SharePoint Server 2007: Customizing and Extending Zlatan Dzinic Principal Consultant Business Connexion.

Slides:



Advertisements
Similar presentations
SharePoint Forms All you ever wanted to know about forms but were afraid to ask.
Advertisements

Needles in a Haystack Harnessing the SharePoint Search Engine Presenter: Ivan Wilson – SharePoint Gurus.
Customizing the MOSS 2007 Search Results November 2007 Rafael Perez.
Great people, great experience, great passion Matthew McDermott Director Aptillon, Inc. SharePoint Search Center Configuration.
DEV11 SharePoint Search Extensibility Mike Fitzmaurice Senior Technical Product Manager Microsoft Corporation
SharePoint 2007: Search Deep Dive Erik Mau Inetium.
XP Information Technology Center - KFUPM1 Microsoft Office FrontPage 2003 Creating a Web Site.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Information Retrieval in Practice
Enterprise Search With SharePoint Portal Server V2 Steve Tullis, Program Manager, Business Portal Group 3/5/2003.
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
ARC06 SharePoint Search Deployment Mike Fitzmaurice Senior Technical Product Manager Microsoft Corporation
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
Customising SharePoint David Gristwood Developer & Platform Group
Overview of Search Engines
Microsoft Office SharePoint Server Business Intelligence Tom Rizzo Director, Microsoft Office SharePoint Server
Windows SharePoint Services (Part 2) including Enterprise Search David Gristwood James Akrigg Microsoft Limited.
SQL Server 2000 and XML Erik Veerman Consultant Intellinet Business Intelligence.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Enterprise Search. Search Architecture Configuring Crawl Processes Advanced Crawl Administration Configuring Query Processes Implementing People Search.
Alonso Robles Solutions Architect speakTECH
Customizing and Extending Microsoft Office SharePoint Search Tom Rizzo Director, SharePoint
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
JSP Standard Tag Library
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Building Search Portals With SP2013 Search. 2 SharePoint 2013 Search  Introduction  Changes in the Architecture  Result Sources  Query Rules/Result.
Developing Reporting Solutions with SQL Server
JourneyTEAM - –
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
SharePoint 2010 Search Architecture The Connector Framework Enhancing the Search User Interface Creating Custom Ranking Models.
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
Module 10 Administering and Configuring SharePoint Search.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Office Server Specific Web content management –Page structure, layouts, and controls –Publishing.
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Search Overview Search Features: WSS and Office Search Architecture Content Sources and.
Microsoft Office SharePoint Server 2007 Enterprise Search Enterprise Search Overview.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra
WINDOW SEARCH SERVER Topics  Topology  High-level Architecture  Performance  WSS vs. MOSS Search Comparison  Search Server 2008.
Extending SharePoint through Web Parts and ASP.NET 최승현 대리 한국마이크로소프트.
Mike Fitzmaurice Enterprise Technology Strategist Microsoft Corporation OFC326.
21 Copyright © 2009, Oracle. All rights reserved. Working with Oracle Business Intelligence Answers.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Microsoft Office SharePoint 2007 Technical Enablement Tour Patrick Tisseghem (Managing Partner – U2U)
Business Data Integration with MOSS 2007 Naveedullah Khan PMP, MCAD.NET Senior Consultant.
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
SQL Server Reporting Services for.NET Developers Bret Stateham
Marcel Trümpy Platform Technology Advisor Microsoft Switzerland
Leveraging SharePoint Search In SharePoint 2013 Jameson Bozeman.
June 30, 2005 Public Web Site Search Project Update: 6/30/2005 Linda Busdiecker & Andy Nguyen Department of Information Technology.
Introduction to Enterprise Search Corey Roth Blog: Twitter: twitter.com/coreyrothtwitter.com/coreyroth.
Marius Constantinescu Valerie Alonso Technical ArchitectLead Consultant blue-infinity (Switzerland) S.A. Aller plus loin avec le Search.
Search can be Your Best Friend You just Need to Know How to Talk to it IW 306 Ágnes Molnár.
Microsoft Office SharePoint Server 2007 Enterprise Search
Searching Business Data with MOSS 2007 Enterprise Search
Microsoft Office Illustrated
Searching Business Data with MOSS 2007 Enterprise Search
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Tech·Ed North America /22/2019 3:15 AM
Tutorial 7 – Integrating Access With the Web and With Other Programs
敦群數位科技有限公司(vanGene Digital Inc.) 游家德(Jade Yu.)
5.00 Apply procedures to organize content by using Dreamweaver. (22%)
SharePoint 2007 Developer Overview Collaboration BI Features
9/8/ :03 PM © 2006 Microsoft Corporation. All rights reserved.
Presentation transcript:

SRC303: Search in Microsoft Office SharePoint Server 2007: Customizing and Extending Zlatan Dzinic Principal Consultant Business Connexion

Session Objectives And Key Takeaways Session Objective(s) Learn how to customize SharePoint Server Search UI and build Search based applications Prerequisites –Basic level of understanding of search in MOSS 2007 –Some coding –A bunch of HTML, CSS, ASP.NET and XSLT

Agenda Customize the Product UI Branding Search Center Web parts XSLT Extending search Query Object Model Web Service for remote apps Indexing Custom Data, BDC Wrap up and questions

Branding the SharePoint UI Built on ASP.NET 2.0 master pages control look and feel of the website Custom CSS SharePoint Designer Build master pages Design CSS

Core Results Matching Keywords And Best Bets High Confidence Action Links Search Tabs Search Center Search Box Pagination Statistics

Search Tabs 2 tabs OOB All Sites tab (standard scope) People tab Extensible Custom tabs can be added for additional data types / custom search experience Consists of a layout page and a results page Not available in MOSS for Search

Search Web Parts 9 OOB web parts including –Search Box –Core Results –High Confidence –Statistics –Pagination –Action Links –Matching Keywords and Best Bets –Search Summary (Did you mean?) –Advanced Search –Share data through hidden object Web part properties such as –Formatting –From turning stemming on/off to the # of results returned –XSL

Some simple customizations Customize Thesaurus Located at drive:\Program Files\Microsoft Office Servers\12.0\Data\Config TSxxx.xml where xxx is the lang code Replacement or Expansion sets Eg. Replace “Yukon” with “SQL Server 2005” Eg. Expand “Tom” with “good-looking”, “tall” and “great speaker” Substitution weighs and stemming is supported Best bets Setup best bets at the Site collection level

Some more customizations Simple things you can do for relevance: Authoritative pages Demoted sites With a little bit of code: Available only through the OM Changing weighting of properties If you’re a little crazy: Changing ranking parameters through code Eg. Saturation constant for term frequency

Customize UI With XSLT Appropriate for scenarios requiring Change results layout, look and feel Pivoting using the keyword syntax Web part property Power of XSLT FormattingLogicMath

Walk through of the XSLT Parameter Section Parameters passed by results, web part properties No Keyword Section You didn’t enter a keyword No Results Section No results were returned Customize with your own message to help users Main Body Result Section The meat Results Template Section Matches results in XML Selected column matching – Title, URL, etc. Hit Highlighting, Auto definition

Customizing Search Web Parts Change Look and Feel Search Tabs Search Web Parts Customizing with XSLT

Extending Search Query Object Model Query Syntax Web Service for remote apps Indexing Custom Data Business Data Search

Query Object Model Use query OM To build custom search UI web parts To have direct access to query and results properties To invoke custom queries 2 types of query syntaxes KeywordSQL URL Request Parameters

Query Object Path Query OM Input Output SQL Query OptionalParameters Site UI Custom Client Local Remote Keyword Query Results Query

Use Case end user Leverage customization (i.e. write pivoting in XSLT) Simple and easy to use Avoids parsing and construction of SQL Required and excluded term support Bike –fitness SharePoint search -authur:”Richard Riley” Filter by any string or integer property Consistent property:value syntax across Office, Windows and Live search Query Syntax Keyword Syntax gallery hinges –brass site:http//supportdesk scope:Products

Use Case Advanced search solutions Complex queries Consistent SQL across enterprise and desktop Query Syntax SQL Syntax SELECT URL, Title, Description FROM portal_content..SCOPE() WHERE FREETEXT(‘gallery hinges’) AND SITE = “ AND SCOPE = “Products” AND NOT CONTAINS(‘brass’)

Full strength, complete coverage freetext() Arbitrary groupings for AND, OR, NOT CONTAINS()LIKE ORDER BY ASC | DESC Removed in MOSS 2007 UNION ALL MATCHES SELECT * COALESCE TABLE COALESCE TABLE Query Syntax Query Syntax SQL Syntax

Query Syntax Use Case Launching a URL in custom application Save searches Keywords results.aspx?k=fish Scopes results.aspx?k=fish&s=BBC Sort/View results.aspx?v=date results.aspx?v=relevance Page results.aspx?start=21 Property matching results.aspx?k=“fish author:Tom –site: Request Parameters URL Request Parameters

Query Object Model Features Managed code API Single request – multiple results Result Types Relevant results High confidence results Special terms Definitions Optional parameters # of Sentences in Summary Implicit - AND/OR Number of results Ignore noise words Enable stemming Language

Query OM Input Output SQL Query Query Engine Result Table Collection ResultTable: IDataReader Relevant results High confidence Special terms Definitions Site UI Custom Client Execute() Keyword Query Optional Parameters Local Query Object Path

Same flow, keyword or SQL syntax Set up query text and options Execute() Retrieve a set of IDataReader objects Query Object Model

Using the Query Object Model

Query Web Service Use Case Remote application ASP.Net 2.0 or any other app… Office Research Pane Windows Live Search Center Similar features as query object model Results in XML and data table formats us/library/ms aspx

Query Web Service Methods Query – returns results as XML format Research and Reference Service- compatible XML Use in the Office Research pane QueryEx – Returns.NET DataSet Full set of result types, features GetSearchMetaData – Retrieve available properties and scopes RegistrationStatus

Query Web Service

Finding People View by relevance or social distance Refine results using various properties

Finding People People Search Implements the core results Customizes the search experience Refine by Job Title/ Department Sort by social distance Display results differently

Indexing Custom Data Business Data Search Search Data, not only documents Organizations store a lot of their data in SAP, Siebel… But vertical applications lack full-text search Most users can’t locate or access vertical apps Hard to crawl business data with SharePoint MOSS 2007 This proprietary data is accessed through the Business Data Catalog BDC then exposes this data to many features in SharePoint Search can easily index the data: No need to write IFilters or protocol handlers No need to create HTML representations of data Highly customizable results Integrated with scopes and search center

Business Data Catalog

Indexing Custom Data Index the Business Data Catalog Highest integration without writing code Expose data as HTML/XML via HTTP Develop a Protocol Handler to gather data from custom repositories –Connects to a content source and enumerates the documents –Ships with support for Web Content, NTFS File Shares, Exchange Public Folders, Lotus Notes Databases, SharePoint Content, SharePoint profiles, Business Data Catalog Interfaces are the same as in SPS 2003 MSDN: ISearchProtocol and IUrlAccessor

Indexing Custom Data Develop IFilter for custom file formats Reads a document and extracts the plain text content and properties for the indexer to index Support reading from streams Make sure IFilters can run multi-threaded

Wrap Up And Questions

Links Community Site – My Blog – My Website –

Thank you

Metadata Business Data Catalog Web Parts ListsSearch User Profiles Custom Apps Database WS Proxy ADO.NET Web Service SQL Server, Oracle, OLEDB, ODBC Microsoft BizTalk, SAP, Siebel, Legacy, … List store SearchIndex Profile Store Business Data Catalog (BDC) Connects Office servers to business data

POST or GET search results page Query.Execute() Get Doc IDs from index, Properties from search DB Return results in set of IDataReader objects Wrap results in XML CSS applied Client-side code runs Get query, scope from request parameters Get query, scope from request parameters Get SELECT list from tool pane Build links with URL parameters Transform Render Transform Render Change the transform Edit style sheets Write custom Web Parts to OM Results Page Information Flow Browser Server Search OM Service

39 Query Code Sample Construct and issue a query KeywordQuery request = new KeywordQuery(ServerContext.Current.SharedResourceProvider.Application Id.ToString()); Request.QueryText = textSearchBox.Text // append other keyword filters request.HiddenConstraints = "scope:" + "\"Customers\""; request.ResultTypes |= ResultType.RelevantResults; request.ResultTypes |= ResultType.SpecialTermResults; // append requests for other result sets // set query properties request.HighlightedSentenceCount = 3; request.TotalRowsExactMinimum = 50; // add/remove selected properties SPSite site = new SPSite(Page.Request.Url.ToString()); request.SiteContext = site.ID.ToString(); ResultTableCollection myResult = request.Execute();

40 Code Sample Read Result Types using Microsoft.Office.Server.Search.Query; using Microsoft.Office.Server.Search.Query; ReadResults(myResult) ReadResults(myResult) { // Relevant results { // Relevant results ResultTable mySearchResults = myResult[ResultType.RelevantResults]; ResultTable mySearchResults = myResult[ResultType.RelevantResults]; Response.Write("SEARCH RESULTS"); Response.Write("SEARCH RESULTS");ReadResultTable(mySearchResults); // Best bet results // Best bet results ResultTable myBestBets = myResult[ResultType.SpecialTermResults]; ResultTable myBestBets = myResult[ResultType.SpecialTermResults]; Response.Write("BEST BETS"); Response.Write("BEST BETS"); ReadResultTable(myBestBets); ReadResultTable(myBestBets); }

41 Code Sample Read Results using Microsoft.Office.Server.Search.Query; void ReadResultTable(ResultTable rt) { while (true == rt.Read()) { Response.Write("\nrow # " + j++); for (int i = 0; i < rt.FieldCount; i++) { String columnName = rt.GetName(i); String columnName = rt.GetName(i); Object columnValue = rt.GetValue(i); Object columnValue = rt.GetValue(i); Type columnType = rt.GetFieldType(i); Type columnType = rt.GetFieldType(i); if (null == columnValue) columnValue = "empty"; if (null == columnValue) columnValue = "empty"; Response.Write(columnName + " : " + columnValue.ToString() + "(type - " + columnType + ") “ ); Response.Write(columnName + " : " + columnValue.ToString() + "(type - " + columnType + ") “ );}}}

Search changes ElementDescription COALESCE_TABLE function Removed. Queries using this function will need to be re- written. Column Weighting Removed. If present in queries to Office SharePoint Search, it will be ignored. Rank Modification Removed. If present in queries to Office SharePoint Search, it will be ignored. UNION ALL element Removed. If present in queries to Office SharePoint Search, it will be ignored. MATCHES predicate Removed. Queries using this predicate will need to be rewritten. FROM Specifying a search scope in the FROM clause is no longer supported. Enterprise Search only supports the following FROM clause syntax: …FROM scope()… Support for keyword syntax in search queries has been added to Office SharePoint Server 2007 search. For more information, see the Keyword Query Syntax reference.

43 Advanced Search Web Part All, Any, Phrase, Exclusions Filter by language Configurable properties Each control configurable

Thank you