SlideShare a Scribd company logo
1 of 33
Download to read offline
Building Search Driven Applications
in SharePoint 2010


Nik Patel
Lead Solutions Architect, Slalom Consulting, Chicago Practice
Session Goals

 Audience – SharePoint Architects, SharePoint Developers, and Power Users
 Main Goal - Understanding Search from Application Development Perspective
 What this Session will cover
  Out of Box Search Configurations

  On-Premises Enterprise Search API

 What this Session won’t cover
  FAST Search API

  Search in SharePoint Online (First half partially applies to Office 365)




                                                                              2
About Me


           Nik Patel
               •   Lead Solutions Architect, Slalom Consulting
               •   Working with SharePoint 2010 since Summer 2009 TAP
               •   Master in Computer Science from IIT, Chicago

           Contact Info
               •   Email – patenik2@yahoo.com
               •   Blog – Nik Patel’s SharePoint World -
                   http://nikspatel.wordpress.com/
               •   Twitter - @nikxpatel
               •   LinkedIn - linkedin.com/in/nikspatel
               •   Slideshare - slideshare.net/patenik2




                                                                        3
Session Agenda

 Why Search is Important in SharePoint Information Architecture?
 Why Search is Important as SharePoint Data Access Method?
 Overview of SharePoint Enterprise Search Architecture
 Out of Box Customization Options for SharePoint 2010 Search Applications
   Demo – Custom Search Solutions using OOB Web Parts

 Programming Options for SharePoint 2010 Search Applications
   Demo – Custom Search Solutions using Keyword Search API

 Questions and Answers




                                                                             4
Why Search and Metadata Driven Information Architecture necessary?
Information is everywhere, Needs foundational architecture to find it efficiently

 Information Islands
   Modern intranet has Information and Applications Islands and Needs to find information efficiently

 Find and Target Relevant Information
   User can receive information if they are tagged property. Search can leverage metadata to target relevant
    information

 Aggregate information from Distributed SharePoint Information Architecture
   Rollup information across Multiple Sites, Site Collections, Web Applications, and Farms



Next time when you design systems, think about Search + Metadata Driven
Information Architecture



                                                                                                                5
Why Search is Important as SharePoint Data Access Method?
Overview and Limitation of Traditional SharePoint 2010 Data Access APIs

• Server Side APIs
   •   SPList, SPQuery, and SPDataQuery
   •   LINQ to SharePoint
• Client Side and Remote APIs                Client OM           REST APIs      SOAP APIs
   •   CSOM and REST APIs
   •   SOAP APIs and WCF Services
• Targeted at List or Library                                   Data Platform
• Scoped at the Site or Site Collection      Farm        Site       List Data   External Lists
• 5000 List Items threshold
• CSOM has slow performance over
  the network
• Data Aggregation and Rollup would
  require complex custom
  programming



                                                                                                 6
Why Search is Important as SharePoint Data Access Method?
    Enterprise Search delivers Data Rollups and Data Aggregations efficiently

•     Use OOB Web parts, Search APIs, or Search ASMX Services to query data against Search Index

•     Major Benefits
        •   Perfect for Data Rollups and Data Aggregations across Cross-farm, Cross-Web Application, or Cross-Site
            Collection
        •   Can query across large data corpuses (because it query against index)
        •   Queries are fast even with large data corpuses (because it query against index)
        •   Most scalable data access solution out there, All other techniques are mostly SQL-based (because it query
            against index)

•     Major Limitations
        •   Content needs to be in the indexed (dependency), Avoid this option if real time data access are requirements
        •   Requires advanced search service administration and configuration (dependency)
        •   Improve search by tagging with metadata (to be effective)




                                                                                                                           7
Typical Search Application Scenarios and Business Cases

 Typical Business Cases
  De-centralized content, data, and documents
  Large amount of data, document libraries, sites, or site
   collections
  IA Governance – Metadata, Content Types, and Search

 Typical Application Scenarios
  Cross Site Collection Portal Navigation
  My Team Sites Dashboard
  Corporate Knowledge Center - Rolling up documents
  Customer Documents Dashboard - Cross Web
   Application or Cross-Farm Documents Sharing for
   Extranets




                                                              8
Overview of SharePoint Enterprise Search Architecture




                                                        9
Enterprise Search Terminology for Developers – Major Puzzle Pieces
Understanding out of box crawling and indexing pipeline would benefit

 Content Sources
 Crawling Schedules
 Crawl Rules
 Content Scopes
 Crawled Properties
 Managed Properties
 Search Query Object Model
 Enterprise Search Center


Search by default is Security Trimmed


                                                                        10
Out of Box No-Code SharePoint Search Customization

    Audience – Power Users & SharePoint Architects




                                                     11
Why would you Customize Search?
Out of box Search configuration doesn’t cover all business cases

 Typical complains with OOB Search Center
   Too many results – They are not relevant
   Missing information on search page


 Improving how Users View results
  OOB interface may not provide ideal UI
  Tailoring search center may greatly increase
   productivity or usability



Tip - Try using Out of box Options
before exploring Custom Coding
Options

                                                                   12
Out of Box Search Capabilities – Search Web Parts
Search Web Parts can be used by Power Users to build Search Applications

Major components in configuring No-          Advanced Search Box       Allows users to create detailed searches against
                                                                       Managed Properties
Code browser based Search Applications
                                             Federated Results         Displays results from a federated search location
                                                                       Presents facets that can be used to refine a people
                                             People Refinement Panel
                                                                       search
                                             People Search Box         Allows users to search for people using a keyword
                                             People Search Core        Displays the primary result set from a people
                                             Results                   search
                                                                       Displays a summary of search results and enables
                                             Refinement Panel
                                                                       users to filter results.
                                                                       Displays the related searches for a particular user
                                             Related Queries
                                                                       query.
                                                                       Displays links for RSS, alerts, and Windows
                                             Search Action Links
                                                                       Explorer
                                             Search Best Bets          Displays best-bets results
                                             Search Box                Allows users to enter keyword query searches
                                             Search Core Results       Displays the search results for a user's query
                                             Search Paging             Allows a user to page through search results
                                                                       Presents statistics for search results like total
                                             Search Statistics
                                                                       search results
                                             Search Summary            Displays the summary for a user's query.
                                             Top Federated Results     Displays top results from a federated location
Out of Box Search Capabilities – Core Results Web Part
  Displays search results based on user query or predefined queries

 Use in conjunction with Refiner Panel,
  Search Box, Search Paging, and Search
  Statistics web parts
 Major features
     Displays search results
     Specify a scope or content source to limit
      results
     Customize what fields returned by Search
     Results customizable using XSL
     Can hard code query on behalf of the user
        Use the KeywordQuery API syntax
        Fixed Keyword Query
        Append Text to Query




More Info - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/05/a-quick-guide-to-coreresultswebpart-configuration-changes-in-sharepoint-2010.aspx
Out of Box Search Capabilities – Refiner Panel Web Part
 Refines search results in Core Results web part

 Use in conjunction with Core Results,
  Search Box, Search Paging, and Search
  Statistics web parts
 Major Features
   Refine results based upon categories, metadata,
    managed metadata or tags
   Customizable using XSL
   Filter categories configured using XML
   Accuracy Index – Refiners results based on first 50
    results by default,
   Beware of Use Default Configuration – Uncheck for
    custom filter category definitions




 More Info: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/03/15/get-to-know-the-refinement-web-part-in-sharepoint-2010-enterprise-search.aspx
Improve Search with Queries - Keyword Query Syntax
 Refines and filter query results by Keyword Query Syntax

 Improved Keyword Syntax Operators
  in SharePoint 2010
  Property Operators: :, =, <, >, <=, >=, <>
  Boolean Operators: AND, NOT, and OR
  Wildcard Operator: *, Only supports prefix
   matching e.g. account* returns data with account,
   accounts, accountant etc.
  Proximity Operators: x NEAR y (up to 8 terms
   away)
  Synonym Operators: WORDS(TV, Television),
   As opposed to “TV OR Television”, WORDS
   ranks them equivalently
  Inclusion/Exclusion Operators: +/-
  Parenthesis Support for Complex Grouping of
   queries
Improve Search with Queries - Keyword Query Syntax (Continued)
 Refines and filter query results by Keyword Query Syntax

 Streamline with Managed Properties
  Search by either built-in or custom managed
   properties

  Managed properties must be configured in
   Search Center against crawled properties

  Sample OOB Managed Properties
    ContentSource:"Local SharePoint Sites“
    Scope:”Products”
    Site:”http://sp2010vm/products”
    ContentType:”Policy Type”
    isDocument:0 (0 or 1)
    ContentClass:STS_ListItem_Tasks (e.g. STS_Site,
     STS_Web, STS_List, STS_ListItem, STS_List_{Type},
     STS_ListItem_{Type})
    FileType:“docx"
Demo
No-Code Customized Search Application
       Centralized Policy Center



                                        18
Programming Search - Custom SharePoint Search Applications

   Audience – SharePoint Architects & SharePoint Developers




                                                              19
Why would you Extend Search or Build Custom Search Solutions?
 Building Custom Search Applications using Search APIs

 Typical Scenarios
    Out-of-the-box search works great, but users want a rich interface
    Out-of-the-box search doesn’t meet all the business requirements and requires advanced custom logic
    Accessing SharePoint Search Index remotely from the ASP.NET, Silverlight, or Mobile Applications

 Typical Options
     Extend OOB Search Results Web Part
     Programming against Server Side Object Model
       Keyword Query API
       FullTextSQL Query API
     Programming against Search Web Services (Not Covered Today)
       SharePoint Search SOAP API - http://sp2010vm/_vti_bin/spsearch.asmx
       Enterprise Search SOAP API: http://sp2010vm/_vti_bin/search.asmx
     NOTE: Search is not supported in SharePoint 2010 CSOM API
     More info - Enterprise Search Query Architecture - http://msdn.microsoft.com/en-us/library/ee558338.aspx




                                                                                                                 20
Extending the OOB Core Results Web Part
Simplest way to extend out of box functionality

 Why?                                                                     How?
  Dynamically set search query on behalf of                                  Create new web part, extend CoreResultsWebPart
   the user
     Specify Fixed query and Additional query
                                                                              Set key properties on derived class
                                                                                  Location (Content Source) & Scope (Specify Scope)
     User interactions (e.g. toggling custom views based
      on user friendly search queries)                                            FixedQuery & AppendedQuery
     Reading query from non-traditional source (e.g.                             SelectColumns – All rendered columns must be in this XML string
      Query string, custom formula)
                                                                                  Xsl & XslLink
  Dynamically update look and feel                                           Modify the Query Pipeline
     Search by default sort results by relevance, Instead
      apply custom sorting                                                        Override GetXPathNavigator Method

     Apply different custom XSLTs for different layouts                          QueryManager class allows us to intercept query pipeline before
      based on user queries                                                        and after query is issued




More Info - How to: Use the QueryManager class to query SharePoint 2010 Enterprise Search -
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/08/15/how-to-use-the-querymanager-class-to-query-sharepoint-2010-enterprise-search.aspx
Server Side Query Object Model - Search Query APIs
 KeywordQuery API, FullTextSQLQuery API, and Fast Query Language (FQL)

 KeywordQuery API                                    FullTextSQLQuery API
  Preferred Approach for Search Queries in SP2010     Executes Search SQL Syntax queries

  Executes Keyword Query Syntax queries               Executes queries against Search Scopes

  Query executes against Search Index                 Doesn’t require managed properties

  Requires content must be crawled, crawled           Puts load on SQL rather than Query servers
   properties must be in the index, and managed
   properties must be mapped to crawled                Use if you prefer the SQL syntax and execute full
   properties.                                          text query programmatically

  FAST doesn’t support SQL Syntax, use Keyword        Unlike Keyword Query API, SQL Syntax support
   Query Syntax to seamlessly support code in           CONTAINS parameter
   both Enterprise Search and FAST




                                                                                                            22
Step by Step – Using Search Query APIs
Initial steps are same for KeywordQuery API and FullTextSQLQuery API

 Step 1 - Create SharePoint 2010 Visual Studio Solution based on SharePoint 2010 Project Template
 Step 2 - Add SharePoint Project Item for Search Application UI & Logic
    Custom Web Part or Visual Web Part
    Custom Application Page or Site Page

 Step 3 - Reference two Search DLLs from the ISAPI directory
    ~SharePointRootISAPIMicrosoft.Office.Server.dll
    ~SharePointRootISAPIMicrosoft.Office.Server.Search.dll
    Typical SharePoint Root is - C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14

 Step 4 - Import Search Namespaces
    using Microsoft.Office.Server;
    using Microsoft.Office.Server.Search;
    using Microsoft.Office.Server.Search.Query; [KeywordQuery Class defined in this namespace]
    using Microsoft.Office.Server.Search.Administration;
Step by Step – Using KeywordQuery API

• Step 1 - Instantiate the KeywordQuery object
   • You have two options, pass current site collection (Classic MOSS 2007 way), or pass the Search Query and
     Site Settings Service proxy (New in SP2010) and instantiate KeywordQuery object

    1.   SearchQueryAndSiteSettingsServiceProxy settingsProxy = SPFarm.Local.ServiceProxies.GetValue
         <SearchQueryAndSiteSettingsServiceProxy>();

         SearchServiceApplicationProxy searchProxy =
            settingsProxy.ApplicationProxies.GetValue <SearchServiceApplicationProxy>("Search Service
         Application");

         KeywordQuery q = new KeywordQuery(searchProxy);

    2.   SearchServiceApplicationProxy proxy =
         (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(SPCont
         ext.Current.Site));
         KeywordQuery q= new KeywordQuery(proxy);
Step by Step – Using KeywordQuery API (Continued…)

• Step 2 - Set KeywordQuery Object Properties
   • QueryText – This is keyword query text (e.g. LastName:”Patel”)
   • ResultTypes – Search result types (default is Relevant Results)
   • HiddenContraints – Filter by search scope
   • RowLimit – By default, it returns only 50 records, Se this property to increase number
   • RowsPerPage - Paging
   • IgnoreAllNoiseQuery
   • TrimDuplicates – Trims duplicate results
   • EnableNicknames
   • EnablePhonetic
   • EnableStemming
   • EnableSpellCheck
   • EnableFQL
Step by Step – Using KeywordQuery API (Continued…)
 • Step 3 – Use SelectProperties string collection to return custom managed properties
      • Out of the box, KeywordQuery API will return only default search properties such as Title, Author etc.

      • To return managed properties, use SelectProperties string collection

 • Step 4 - Run KeywordQuery Object Execute() method and return ResultTableCollection which can be
   loaded in ADO.NET DataTable Object

 • Step 5 - Bind ADO.NET DataTable Object data into ASP.NET or SharePoint Controls for UI


More Info from Corey Roth’s blog

How to: Use the MOSS Enterprise Search KeywordQuery class - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-
use-the-moss-enterprise-search-keywordquery-class.aspx

How to: Use the SharePoint 2010 Enterprise Search KeywordQuery Class -
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/08/12/how-to-use-the-sharepoint-2010-enterprise-search-keywordquery-
class.aspx
Step by Step – Using KeywordQuery API (Complete Example)
Demo
Custom Application using KeywordQuery API
     Cross Site Collection Navigation



                                            28
Step by Step – Using FullTextSQLQuery API
• Step 1 – Just like KeywordQuery API, Instantiate the FullTextSqlQuery object
   • Just like KeywordQuery API, You have two options, pass current site collection (Classic MOSS 2007 way), or
     pass the Search Query and Site Settings Service proxy (New in SP2010) and instantiate FullTextSqlQuery object

    1.   SearchQueryAndSiteSettingsServiceProxy settingsProxy = SPFarm.Local.ServiceProxies.GetValue
         <SearchQueryAndSiteSettingsServiceProxy>();

         SearchServiceApplicationProxy searchProxy =
            settingsProxy.ApplicationProxies.GetValue <SearchServiceApplicationProxy>("Search Service
         Application");

         FullTextSqlQuery q = new FullTextSqlQuery(searchProxy);

    2.   SearchServiceApplicationProxy proxy =
         (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(SPCont
         ext.Current.Site));
         FullTextSqlQuery q= new FullTextSqlQuery(proxy);
Step by Step – Using FullTextSQLQuery API (Continued…)
• Step 2 - Set FullTextSQLQuery Object Properties
    • QueryText – This is SQL Query text, You can specify scopes in the query
    • ResultTypes – Search result types
    • RowLimit – By detault, it returns only 50 records, Se this property to increase number
    • RowsPerPage - Paging
    • IgnoreAllNoiseQuery
    • TrimDuplicates
    • EnableNicknames
    • EnablePhonetic
    • EnableStemming

• Step 3 - Run FullTextSQLQuery Object Execute() method and return ResultTableCollection which can
  be loaded in ADO.NET DataTable Object

• Step 4 - Bind ADO.NET DataTable Object data into ASP.NET or SharePoint Controls for UI

• Step 5 – Unlike KeywordQuery Object, you must dispose FullTextSQLQuery object
How to: Use the MOSS Enterprise Search FullTextSqlQuery Class - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/06/how-to-
use-the-moss-enterprise-search-fulltextsqlquery-class.aspx
Step by Step – Using FullTextSQLQuery API (Complete Example)
•   Thanks for attending the session!!
•   Follow SharePoint Fest Chicago
     •   Twitter - @SharePointFest - https://twitter.com/sharepointfest
     •   Website - http://www.sharepointfest.com/Chicago/




                                                                          32
© 2011 Slalom Corporation. All rights reserved. The information herein is for informational purposes only and represents the current view of Slalom Corporation as of the date of this presentation.
                            SLALOM MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
Enterprise search in SharePoint 2013 - Sydney 15th of January 2013Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
Findwise
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Nik Patel
 
Enterprise search-sizing-ha-and-migration-path
Enterprise search-sizing-ha-and-migration-pathEnterprise search-sizing-ha-and-migration-path
Enterprise search-sizing-ha-and-migration-path
microsoftasap
 
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Nik Patel
 

What's hot (20)

SharePoint 2013 Search - Whats new for End Users
SharePoint 2013 Search - Whats new for End UsersSharePoint 2013 Search - Whats new for End Users
SharePoint 2013 Search - Whats new for End Users
 
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
 
Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
Enterprise search in SharePoint 2013 - Sydney 15th of January 2013Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
Enterprise search in SharePoint 2013 - Sydney 15th of January 2013
 
10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search
 
Introduction to SharePoint 2013 Search
Introduction to SharePoint 2013 SearchIntroduction to SharePoint 2013 Search
Introduction to SharePoint 2013 Search
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
Enterprise search-sizing-ha-and-migration-path
Enterprise search-sizing-ha-and-migration-pathEnterprise search-sizing-ha-and-migration-path
Enterprise search-sizing-ha-and-migration-path
 
Developing a Custom FAST Search Server 2010 for SharePoint Solution - Share...
Developing a Custom FAST Search Server 2010 for SharePoint Solution - Share...Developing a Custom FAST Search Server 2010 for SharePoint Solution - Share...
Developing a Custom FAST Search Server 2010 for SharePoint Solution - Share...
 
Fried sp techcon hybrid search deeper dive
Fried sp techcon hybrid search deeper diveFried sp techcon hybrid search deeper dive
Fried sp techcon hybrid search deeper dive
 
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
Cloud Hybrid Search with SharePoint
Cloud Hybrid Search with SharePointCloud Hybrid Search with SharePoint
Cloud Hybrid Search with SharePoint
 
SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade story
 
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC GroupDriving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
 
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
Succeeding with Hybrid SharePoint (includes new Cloud SSA material)
 
SP24 - Using the Content Enrichment Web Service with SharePoint Server 2013 ...
SP24  - Using the Content Enrichment Web Service with SharePoint Server 2013 ...SP24  - Using the Content Enrichment Web Service with SharePoint Server 2013 ...
SP24 - Using the Content Enrichment Web Service with SharePoint Server 2013 ...
 
Fried baspug hybrid share point
Fried baspug hybrid share pointFried baspug hybrid share point
Fried baspug hybrid share point
 
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
 
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
 
2014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 20132014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 2013
 

Similar to Building Search Driven Applications in SharePoint 2010 - SharePoint Fest 2012

SPConnections - Search Administration in SharePoint 2013
SPConnections - Search Administration in SharePoint 2013SPConnections - Search Administration in SharePoint 2013
SPConnections - Search Administration in SharePoint 2013
Agnes Molnar
 
TechDays11 Geneva - Going Further with SharePoint 2010 Search
TechDays11 Geneva - Going Further with SharePoint 2010 SearchTechDays11 Geneva - Going Further with SharePoint 2010 Search
TechDays11 Geneva - Going Further with SharePoint 2010 Search
Marius Constantinescu [MVP]
 
SPCAdriatics - 10 Things I Like In SharePoint 2013 Search
SPCAdriatics - 10 Things I Like In SharePoint 2013 SearchSPCAdriatics - 10 Things I Like In SharePoint 2013 Search
SPCAdriatics - 10 Things I Like In SharePoint 2013 Search
Agnes Molnar
 
ESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 SearchESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 Search
Agnes Molnar
 
SPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 SearchSPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 Search
Agnes Molnar
 
SPLive Orlando - Beyond the Search Center - Application or Solution?
SPLive Orlando - Beyond the Search Center - Application or Solution?SPLive Orlando - Beyond the Search Center - Application or Solution?
SPLive Orlando - Beyond the Search Center - Application or Solution?
Agnes Molnar
 
SharePoint User Group Meeting- SharePoint 2013 Search
SharePoint User Group Meeting- SharePoint 2013 SearchSharePoint User Group Meeting- SharePoint 2013 Search
SharePoint User Group Meeting- SharePoint 2013 Search
C/D/H Technology Consultants
 
Fishbowl Solutions WebCenter Search Webinar Presentation
Fishbowl Solutions WebCenter Search Webinar PresentationFishbowl Solutions WebCenter Search Webinar Presentation
Fishbowl Solutions WebCenter Search Webinar Presentation
Kim Negaard
 

Similar to Building Search Driven Applications in SharePoint 2010 - SharePoint Fest 2012 (20)

Whats new in search in SharePoint 2013
Whats new in search in SharePoint 2013Whats new in search in SharePoint 2013
Whats new in search in SharePoint 2013
 
Fried dallas spug
Fried dallas spugFried dallas spug
Fried dallas spug
 
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
 
Fried houston spug
Fried houston spugFried houston spug
Fried houston spug
 
Enterprise Search in SharePoint 2010
Enterprise Search in SharePoint 2010Enterprise Search in SharePoint 2010
Enterprise Search in SharePoint 2010
 
SPConnections - Search Administration in SharePoint 2013
SPConnections - Search Administration in SharePoint 2013SPConnections - Search Administration in SharePoint 2013
SPConnections - Search Administration in SharePoint 2013
 
TechDays11 Geneva - Going Further with SharePoint 2010 Search
TechDays11 Geneva - Going Further with SharePoint 2010 SearchTechDays11 Geneva - Going Further with SharePoint 2010 Search
TechDays11 Geneva - Going Further with SharePoint 2010 Search
 
SPCAdriatics - 10 Things I Like In SharePoint 2013 Search
SPCAdriatics - 10 Things I Like In SharePoint 2013 SearchSPCAdriatics - 10 Things I Like In SharePoint 2013 Search
SPCAdriatics - 10 Things I Like In SharePoint 2013 Search
 
ESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 SearchESPC13 - 10 Things I Like in SharePoint 2013 Search
ESPC13 - 10 Things I Like in SharePoint 2013 Search
 
SPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 SearchSPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 Search
 
#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization
 
Google Search Appliance Version 2.0 Webinar - May 2012
Google Search Appliance Version 2.0 Webinar - May 2012Google Search Appliance Version 2.0 Webinar - May 2012
Google Search Appliance Version 2.0 Webinar - May 2012
 
Enterprise Search in SharePoint 2013
Enterprise Search in SharePoint 2013Enterprise Search in SharePoint 2013
Enterprise Search in SharePoint 2013
 
TechFuse 2013 - Break down the walls SharePoint 2013
TechFuse 2013 - Break down the walls SharePoint 2013TechFuse 2013 - Break down the walls SharePoint 2013
TechFuse 2013 - Break down the walls SharePoint 2013
 
SPLive Orlando - Beyond the Search Center - Application or Solution?
SPLive Orlando - Beyond the Search Center - Application or Solution?SPLive Orlando - Beyond the Search Center - Application or Solution?
SPLive Orlando - Beyond the Search Center - Application or Solution?
 
Enterprise Search Using SharePoint 2010 and FAST
Enterprise Search Using SharePoint 2010 and FASTEnterprise Search Using SharePoint 2010 and FAST
Enterprise Search Using SharePoint 2010 and FAST
 
SharePoint User Group Meeting- SharePoint 2013 Search
SharePoint User Group Meeting- SharePoint 2013 SearchSharePoint User Group Meeting- SharePoint 2013 Search
SharePoint User Group Meeting- SharePoint 2013 Search
 
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO...
CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...CREATE SEARCH DRIVEN BUSINESS  INTELLIGENCE APPLICATION USING  FAST SEARCH FO...
CREATE SEARCH DRIVEN BUSINESS INTELLIGENCE APPLICATION USING FAST SEARCH FO...
 
SharePoint 2010 Enterprise Search isn’t just for SharePoint 2010
SharePoint 2010 Enterprise Search isn’t just for SharePoint 2010 SharePoint 2010 Enterprise Search isn’t just for SharePoint 2010
SharePoint 2010 Enterprise Search isn’t just for SharePoint 2010
 
Fishbowl Solutions WebCenter Search Webinar Presentation
Fishbowl Solutions WebCenter Search Webinar PresentationFishbowl Solutions WebCenter Search Webinar Presentation
Fishbowl Solutions WebCenter Search Webinar Presentation
 

More from Nik Patel (6)

Chicago Office 365 User Group 2018 - Better Together SharePoint and OneDrive...
Chicago Office 365 User Group 2018 -  Better Together SharePoint and OneDrive...Chicago Office 365 User Group 2018 -  Better Together SharePoint and OneDrive...
Chicago Office 365 User Group 2018 - Better Together SharePoint and OneDrive...
 
Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...
Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...
Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...
 
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Real World InfoPath with SharePoint 2010 - List vs Library Forms
Real World InfoPath with SharePoint 2010 - List vs Library FormsReal World InfoPath with SharePoint 2010 - List vs Library Forms
Real World InfoPath with SharePoint 2010 - List vs Library Forms
 
Access Services in SharePoint 2010 - All You Need to Know
Access Services in SharePoint 2010 - All You Need to KnowAccess Services in SharePoint 2010 - All You Need to Know
Access Services in SharePoint 2010 - All You Need to Know
 

Building Search Driven Applications in SharePoint 2010 - SharePoint Fest 2012

  • 1. Building Search Driven Applications in SharePoint 2010 Nik Patel Lead Solutions Architect, Slalom Consulting, Chicago Practice
  • 2. Session Goals  Audience – SharePoint Architects, SharePoint Developers, and Power Users  Main Goal - Understanding Search from Application Development Perspective  What this Session will cover  Out of Box Search Configurations  On-Premises Enterprise Search API  What this Session won’t cover  FAST Search API  Search in SharePoint Online (First half partially applies to Office 365) 2
  • 3. About Me Nik Patel • Lead Solutions Architect, Slalom Consulting • Working with SharePoint 2010 since Summer 2009 TAP • Master in Computer Science from IIT, Chicago Contact Info • Email – patenik2@yahoo.com • Blog – Nik Patel’s SharePoint World - http://nikspatel.wordpress.com/ • Twitter - @nikxpatel • LinkedIn - linkedin.com/in/nikspatel • Slideshare - slideshare.net/patenik2 3
  • 4. Session Agenda  Why Search is Important in SharePoint Information Architecture?  Why Search is Important as SharePoint Data Access Method?  Overview of SharePoint Enterprise Search Architecture  Out of Box Customization Options for SharePoint 2010 Search Applications  Demo – Custom Search Solutions using OOB Web Parts  Programming Options for SharePoint 2010 Search Applications  Demo – Custom Search Solutions using Keyword Search API  Questions and Answers 4
  • 5. Why Search and Metadata Driven Information Architecture necessary? Information is everywhere, Needs foundational architecture to find it efficiently  Information Islands  Modern intranet has Information and Applications Islands and Needs to find information efficiently  Find and Target Relevant Information  User can receive information if they are tagged property. Search can leverage metadata to target relevant information  Aggregate information from Distributed SharePoint Information Architecture  Rollup information across Multiple Sites, Site Collections, Web Applications, and Farms Next time when you design systems, think about Search + Metadata Driven Information Architecture 5
  • 6. Why Search is Important as SharePoint Data Access Method? Overview and Limitation of Traditional SharePoint 2010 Data Access APIs • Server Side APIs • SPList, SPQuery, and SPDataQuery • LINQ to SharePoint • Client Side and Remote APIs Client OM REST APIs SOAP APIs • CSOM and REST APIs • SOAP APIs and WCF Services • Targeted at List or Library Data Platform • Scoped at the Site or Site Collection Farm Site List Data External Lists • 5000 List Items threshold • CSOM has slow performance over the network • Data Aggregation and Rollup would require complex custom programming 6
  • 7. Why Search is Important as SharePoint Data Access Method? Enterprise Search delivers Data Rollups and Data Aggregations efficiently • Use OOB Web parts, Search APIs, or Search ASMX Services to query data against Search Index • Major Benefits • Perfect for Data Rollups and Data Aggregations across Cross-farm, Cross-Web Application, or Cross-Site Collection • Can query across large data corpuses (because it query against index) • Queries are fast even with large data corpuses (because it query against index) • Most scalable data access solution out there, All other techniques are mostly SQL-based (because it query against index) • Major Limitations • Content needs to be in the indexed (dependency), Avoid this option if real time data access are requirements • Requires advanced search service administration and configuration (dependency) • Improve search by tagging with metadata (to be effective) 7
  • 8. Typical Search Application Scenarios and Business Cases  Typical Business Cases  De-centralized content, data, and documents  Large amount of data, document libraries, sites, or site collections  IA Governance – Metadata, Content Types, and Search  Typical Application Scenarios  Cross Site Collection Portal Navigation  My Team Sites Dashboard  Corporate Knowledge Center - Rolling up documents  Customer Documents Dashboard - Cross Web Application or Cross-Farm Documents Sharing for Extranets 8
  • 9. Overview of SharePoint Enterprise Search Architecture 9
  • 10. Enterprise Search Terminology for Developers – Major Puzzle Pieces Understanding out of box crawling and indexing pipeline would benefit  Content Sources  Crawling Schedules  Crawl Rules  Content Scopes  Crawled Properties  Managed Properties  Search Query Object Model  Enterprise Search Center Search by default is Security Trimmed 10
  • 11. Out of Box No-Code SharePoint Search Customization Audience – Power Users & SharePoint Architects 11
  • 12. Why would you Customize Search? Out of box Search configuration doesn’t cover all business cases  Typical complains with OOB Search Center  Too many results – They are not relevant  Missing information on search page  Improving how Users View results  OOB interface may not provide ideal UI  Tailoring search center may greatly increase productivity or usability Tip - Try using Out of box Options before exploring Custom Coding Options 12
  • 13. Out of Box Search Capabilities – Search Web Parts Search Web Parts can be used by Power Users to build Search Applications Major components in configuring No- Advanced Search Box Allows users to create detailed searches against Managed Properties Code browser based Search Applications Federated Results Displays results from a federated search location Presents facets that can be used to refine a people People Refinement Panel search People Search Box Allows users to search for people using a keyword People Search Core Displays the primary result set from a people Results search Displays a summary of search results and enables Refinement Panel users to filter results. Displays the related searches for a particular user Related Queries query. Displays links for RSS, alerts, and Windows Search Action Links Explorer Search Best Bets Displays best-bets results Search Box Allows users to enter keyword query searches Search Core Results Displays the search results for a user's query Search Paging Allows a user to page through search results Presents statistics for search results like total Search Statistics search results Search Summary Displays the summary for a user's query. Top Federated Results Displays top results from a federated location
  • 14. Out of Box Search Capabilities – Core Results Web Part Displays search results based on user query or predefined queries  Use in conjunction with Refiner Panel, Search Box, Search Paging, and Search Statistics web parts  Major features  Displays search results  Specify a scope or content source to limit results  Customize what fields returned by Search  Results customizable using XSL  Can hard code query on behalf of the user  Use the KeywordQuery API syntax  Fixed Keyword Query  Append Text to Query More Info - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/05/a-quick-guide-to-coreresultswebpart-configuration-changes-in-sharepoint-2010.aspx
  • 15. Out of Box Search Capabilities – Refiner Panel Web Part Refines search results in Core Results web part  Use in conjunction with Core Results, Search Box, Search Paging, and Search Statistics web parts  Major Features  Refine results based upon categories, metadata, managed metadata or tags  Customizable using XSL  Filter categories configured using XML  Accuracy Index – Refiners results based on first 50 results by default,  Beware of Use Default Configuration – Uncheck for custom filter category definitions More Info: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/03/15/get-to-know-the-refinement-web-part-in-sharepoint-2010-enterprise-search.aspx
  • 16. Improve Search with Queries - Keyword Query Syntax Refines and filter query results by Keyword Query Syntax  Improved Keyword Syntax Operators in SharePoint 2010  Property Operators: :, =, <, >, <=, >=, <>  Boolean Operators: AND, NOT, and OR  Wildcard Operator: *, Only supports prefix matching e.g. account* returns data with account, accounts, accountant etc.  Proximity Operators: x NEAR y (up to 8 terms away)  Synonym Operators: WORDS(TV, Television), As opposed to “TV OR Television”, WORDS ranks them equivalently  Inclusion/Exclusion Operators: +/-  Parenthesis Support for Complex Grouping of queries
  • 17. Improve Search with Queries - Keyword Query Syntax (Continued) Refines and filter query results by Keyword Query Syntax  Streamline with Managed Properties  Search by either built-in or custom managed properties  Managed properties must be configured in Search Center against crawled properties  Sample OOB Managed Properties  ContentSource:"Local SharePoint Sites“  Scope:”Products”  Site:”http://sp2010vm/products”  ContentType:”Policy Type”  isDocument:0 (0 or 1)  ContentClass:STS_ListItem_Tasks (e.g. STS_Site, STS_Web, STS_List, STS_ListItem, STS_List_{Type}, STS_ListItem_{Type})  FileType:“docx"
  • 18. Demo No-Code Customized Search Application Centralized Policy Center 18
  • 19. Programming Search - Custom SharePoint Search Applications Audience – SharePoint Architects & SharePoint Developers 19
  • 20. Why would you Extend Search or Build Custom Search Solutions? Building Custom Search Applications using Search APIs  Typical Scenarios  Out-of-the-box search works great, but users want a rich interface  Out-of-the-box search doesn’t meet all the business requirements and requires advanced custom logic  Accessing SharePoint Search Index remotely from the ASP.NET, Silverlight, or Mobile Applications  Typical Options  Extend OOB Search Results Web Part  Programming against Server Side Object Model  Keyword Query API  FullTextSQL Query API  Programming against Search Web Services (Not Covered Today)  SharePoint Search SOAP API - http://sp2010vm/_vti_bin/spsearch.asmx  Enterprise Search SOAP API: http://sp2010vm/_vti_bin/search.asmx  NOTE: Search is not supported in SharePoint 2010 CSOM API  More info - Enterprise Search Query Architecture - http://msdn.microsoft.com/en-us/library/ee558338.aspx 20
  • 21. Extending the OOB Core Results Web Part Simplest way to extend out of box functionality  Why?  How?  Dynamically set search query on behalf of  Create new web part, extend CoreResultsWebPart the user  Specify Fixed query and Additional query  Set key properties on derived class  Location (Content Source) & Scope (Specify Scope)  User interactions (e.g. toggling custom views based on user friendly search queries)  FixedQuery & AppendedQuery  Reading query from non-traditional source (e.g.  SelectColumns – All rendered columns must be in this XML string Query string, custom formula)  Xsl & XslLink  Dynamically update look and feel  Modify the Query Pipeline  Search by default sort results by relevance, Instead apply custom sorting  Override GetXPathNavigator Method  Apply different custom XSLTs for different layouts  QueryManager class allows us to intercept query pipeline before based on user queries and after query is issued More Info - How to: Use the QueryManager class to query SharePoint 2010 Enterprise Search - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/08/15/how-to-use-the-querymanager-class-to-query-sharepoint-2010-enterprise-search.aspx
  • 22. Server Side Query Object Model - Search Query APIs KeywordQuery API, FullTextSQLQuery API, and Fast Query Language (FQL)  KeywordQuery API  FullTextSQLQuery API  Preferred Approach for Search Queries in SP2010  Executes Search SQL Syntax queries  Executes Keyword Query Syntax queries  Executes queries against Search Scopes  Query executes against Search Index  Doesn’t require managed properties  Requires content must be crawled, crawled  Puts load on SQL rather than Query servers properties must be in the index, and managed properties must be mapped to crawled  Use if you prefer the SQL syntax and execute full properties. text query programmatically  FAST doesn’t support SQL Syntax, use Keyword  Unlike Keyword Query API, SQL Syntax support Query Syntax to seamlessly support code in CONTAINS parameter both Enterprise Search and FAST 22
  • 23. Step by Step – Using Search Query APIs Initial steps are same for KeywordQuery API and FullTextSQLQuery API  Step 1 - Create SharePoint 2010 Visual Studio Solution based on SharePoint 2010 Project Template  Step 2 - Add SharePoint Project Item for Search Application UI & Logic  Custom Web Part or Visual Web Part  Custom Application Page or Site Page  Step 3 - Reference two Search DLLs from the ISAPI directory  ~SharePointRootISAPIMicrosoft.Office.Server.dll  ~SharePointRootISAPIMicrosoft.Office.Server.Search.dll  Typical SharePoint Root is - C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14  Step 4 - Import Search Namespaces  using Microsoft.Office.Server;  using Microsoft.Office.Server.Search;  using Microsoft.Office.Server.Search.Query; [KeywordQuery Class defined in this namespace]  using Microsoft.Office.Server.Search.Administration;
  • 24. Step by Step – Using KeywordQuery API • Step 1 - Instantiate the KeywordQuery object • You have two options, pass current site collection (Classic MOSS 2007 way), or pass the Search Query and Site Settings Service proxy (New in SP2010) and instantiate KeywordQuery object 1. SearchQueryAndSiteSettingsServiceProxy settingsProxy = SPFarm.Local.ServiceProxies.GetValue <SearchQueryAndSiteSettingsServiceProxy>(); SearchServiceApplicationProxy searchProxy = settingsProxy.ApplicationProxies.GetValue <SearchServiceApplicationProxy>("Search Service Application"); KeywordQuery q = new KeywordQuery(searchProxy); 2. SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(SPCont ext.Current.Site)); KeywordQuery q= new KeywordQuery(proxy);
  • 25. Step by Step – Using KeywordQuery API (Continued…) • Step 2 - Set KeywordQuery Object Properties • QueryText – This is keyword query text (e.g. LastName:”Patel”) • ResultTypes – Search result types (default is Relevant Results) • HiddenContraints – Filter by search scope • RowLimit – By default, it returns only 50 records, Se this property to increase number • RowsPerPage - Paging • IgnoreAllNoiseQuery • TrimDuplicates – Trims duplicate results • EnableNicknames • EnablePhonetic • EnableStemming • EnableSpellCheck • EnableFQL
  • 26. Step by Step – Using KeywordQuery API (Continued…) • Step 3 – Use SelectProperties string collection to return custom managed properties • Out of the box, KeywordQuery API will return only default search properties such as Title, Author etc. • To return managed properties, use SelectProperties string collection • Step 4 - Run KeywordQuery Object Execute() method and return ResultTableCollection which can be loaded in ADO.NET DataTable Object • Step 5 - Bind ADO.NET DataTable Object data into ASP.NET or SharePoint Controls for UI More Info from Corey Roth’s blog How to: Use the MOSS Enterprise Search KeywordQuery class - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to- use-the-moss-enterprise-search-keywordquery-class.aspx How to: Use the SharePoint 2010 Enterprise Search KeywordQuery Class - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/08/12/how-to-use-the-sharepoint-2010-enterprise-search-keywordquery- class.aspx
  • 27. Step by Step – Using KeywordQuery API (Complete Example)
  • 28. Demo Custom Application using KeywordQuery API Cross Site Collection Navigation 28
  • 29. Step by Step – Using FullTextSQLQuery API • Step 1 – Just like KeywordQuery API, Instantiate the FullTextSqlQuery object • Just like KeywordQuery API, You have two options, pass current site collection (Classic MOSS 2007 way), or pass the Search Query and Site Settings Service proxy (New in SP2010) and instantiate FullTextSqlQuery object 1. SearchQueryAndSiteSettingsServiceProxy settingsProxy = SPFarm.Local.ServiceProxies.GetValue <SearchQueryAndSiteSettingsServiceProxy>(); SearchServiceApplicationProxy searchProxy = settingsProxy.ApplicationProxies.GetValue <SearchServiceApplicationProxy>("Search Service Application"); FullTextSqlQuery q = new FullTextSqlQuery(searchProxy); 2. SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(SPCont ext.Current.Site)); FullTextSqlQuery q= new FullTextSqlQuery(proxy);
  • 30. Step by Step – Using FullTextSQLQuery API (Continued…) • Step 2 - Set FullTextSQLQuery Object Properties • QueryText – This is SQL Query text, You can specify scopes in the query • ResultTypes – Search result types • RowLimit – By detault, it returns only 50 records, Se this property to increase number • RowsPerPage - Paging • IgnoreAllNoiseQuery • TrimDuplicates • EnableNicknames • EnablePhonetic • EnableStemming • Step 3 - Run FullTextSQLQuery Object Execute() method and return ResultTableCollection which can be loaded in ADO.NET DataTable Object • Step 4 - Bind ADO.NET DataTable Object data into ASP.NET or SharePoint Controls for UI • Step 5 – Unlike KeywordQuery Object, you must dispose FullTextSQLQuery object How to: Use the MOSS Enterprise Search FullTextSqlQuery Class - http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/06/how-to- use-the-moss-enterprise-search-fulltextsqlquery-class.aspx
  • 31. Step by Step – Using FullTextSQLQuery API (Complete Example)
  • 32. Thanks for attending the session!! • Follow SharePoint Fest Chicago • Twitter - @SharePointFest - https://twitter.com/sharepointfest • Website - http://www.sharepointfest.com/Chicago/ 32
  • 33. © 2011 Slalom Corporation. All rights reserved. The information herein is for informational purposes only and represents the current view of Slalom Corporation as of the date of this presentation. SLALOM MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.