You are previewing Inside the Index and Search Engines: Microsoft® Office SharePoint® Server 2007.
O'Reilly logo
Inside the Index and Search Engines: Microsoft® Office SharePoint® Server 2007

Book Description

Get expert, architectural guidance for optimizing user search with custom SharePoint Server 2007 deployments from a Microsoft MVP. You ll go inside the Index and Search Engines. The authors address the unique challenges presented by a folder-and-file organizational strategy that mimics the computer desktop, and takes into consideration that SharePoint sites are often the result of content contributed from a number of users. This pragmatic resource covers the tools in SharePoint Server 2007 that help make searching more effective. You ll discover how SharePoint Server 2007 handles files and data catalogs, and how to effectively use the SharePoint Business Data Catalog and other tools to structure and search SharePoint files, increasing response time and lessening user frustration. Ideal for working developers in an enterprise environment, this practical book delivers must-have, in-depth information for customizing SharePoint Server deployment to enable effective user search experiences. Includes code samples.

Key Book Benefits:

Delivers in-depth, architectural guidance about how SharePoint Server handles files and data catalogs

Provides details about how to effectively use the SharePoint Business Data Catalog and other tools to structure and search SharePoint files, increasing response time and lessening user frustration

Features practical advice from two SharePoint gurus with a deep understanding of how enterprises use search tools

Includes code samples on the Web

Table of Contents

  1. Inside the Index and Search Engines: Microsoft® Office SharePoint® Server 2007
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. Acknowledgments
    3. Introduction
      1. Target Audience
      2. Code Samples
      3. Questions and Comments
    4. 1. Introducing Enterprise Search in SharePoint 2007
      1. The Importance of Search and the Role of Microsoft
        1. The Search User Experience
        2. People in the Organization
        3. Enterprise Ready
      2. Microsoft Enterprise Search Products
        1. Microsoft Windows SharePoint Services 3.0
        2. Microsoft Office SharePoint Server 2007
        3. Microsoft Search Server 2008
          1. Installing Microsoft Search Server 2008 Express Edition
          2. Adding Content Sources
          3. The End-User Search Experience
          4. Federated Search
          5. Adding a Federated Source to the Search Results Page
        4. Comparison of Features
      3. High-Level Overview of the Search Architecture
        1. Index Engine
        2. Search Engine
        3. Search Object Models
      4. Overview of Search Topics Covered in This Book
        1. Topics for Administrators
        2. Topics for Developers
      5. Summary
    5. 2. The End-User Search Experience
      1. Introducing the End-User Search Experience
      2. The Small Search Box
        1. Keyword Query Syntax
        2. A Closer Look at the Search Results Request
      3. The Search Center
        1. Creating a Search Center With Tabs in a Collaboration Portal
        2. The Search Center Lite in a Publishing Portal
        3. Creating a Search Center Lite for Collaboration Sites
        4. The Search Tabs
        5. The Search Page
        6. The People Search Page
        7. The Advanced Search Page
        8. The Search Results Page
        9. The People Search Results Page
      4. Summary
    6. 3. Customizing the Search User Interface
      1. Search Center Site Definitions
      2. Architecture of the Search Center With Tabs
        1. The Tabs Lists
        2. Search Page Layouts
        3. Search Web Parts
      3. Administrative Tasks in the Search Center
        1. Creating Custom Pages for the Search Center
        2. Creating Custom Tabs
        3. Configuring Search Web Parts
          1. The Search Box Web Part
          2. The Search Core Results Web Part
          3. The Search Action Links Web Part
          4. The Search Best Bets Web Part
          5. The Search High Confidence Results Web Part
          6. The Search Summary Web Part
          7. The Search Paging Web Part
          8. The Search Statistics Web Part
          9. The People Search Box Web Part
          10. The People Search Core Results Web Part
          11. The Advanced Search Box Web Part
      4. A Closer Look at the XSL
        1. Defining the Layout of the Search Results
        2. Customizing the Layout of the Search Results
        3. Displaying Custom Properties in the Search Results
        4. The XSL Link Property
        5. Defining the Layout of the People Search Results
        6. Defining the Layout for the Action Links
        7. Displaying Custom Actionable Links
      5. Extending the End-User Search Experience Through Code
        1. Custom Search-Related Page Layouts
        2. A Developer View of the Search Web Parts
          1. Microsoft.Office.Server.Search.WebControls.AdvancedSearchBox
          2. Microsoft.SharePoint.Portal.WebControls.SearchBoxEx
          3. Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart
          4. Microsoft.Office.Server.Search.WebControls.SearchStatsWebPart
          5. Microsoft.Office.Server.Search.WebControls.SearchPagingWebPart
          6. Microsoft.Office.Server.Search.WebControls.SearchSummaryWebPart
          7. Microsoft.Office.Server.Search.WebControls.HighConfidenceWebPart
          8. Microsoft.SharePoint.Portal.WebControls.PeopleSearchBoxEx
        3. Creating Custom Search Tabs
      6. Creating a Custom Small Search Box
      7. Summary
    7. 4. Search Usage Reports
      1. Overview of Search Usage Reporting
      2. Reporting Architecture
        1. XML Format of the RecordClick Parameter
        2. Sending Usage Data to a Custom Web Service
        3. Report Definition Language (RDL) Files
        4. Dependencies on the Search Results XSL
      3. Enabling or Disabling Search Usage Reporting
      4. Accessing the Reports
      5. Search Queries Report
        1. Queries Over Previous 30 Days and Queries Over Previous 12 Months
        2. Top Query Origin Site Collections Over Previous 30 Days
        3. Queries Per Scope Over Previous 30 Days
        4. Top Queries Over Previous 30 Days
      6. Search Results Report
        1. Search Results Top Destination Pages
        2. Queries With Zero Results
        3. Most Clicked Best Bets
        4. Queries With Zero Best Bets
        5. Queries With Low Clickthrough
      7. Exporting Search Usage Data
        1. Exporting Data to Microsoft Office Excel
          1. Exporting Data to Adobe Acrobat PDF
      8. Summary
    8. 5. Search Administration
      1. Search Is a Shared Service
      2. Overview of Search Administration Settings
      3. Administration of Shared Services Providers
        1. Configuring and Starting the Search Service
        2. Creating a New SSP
        3. Associating an SSP with IIS Web Applications
      4. Managing the Search Settings of an SSP
        1. Managing Content Sources
          1. Indexing SharePoint Sites
          2. Indexing Web Sites
          3. Indexing File Shares
          4. Indexing Business Data
          5. Indexing Lotus Notes Databases
        2. The Nature of Full and Incremental Crawls
        3. Configuring Crawl Schedules
        4. Configuring Crawl Rules
        5. Instant Removal of Search Results
        6. Crawler Authentication Schemes
        7. The Default Content Access Account
        8. Inspecting the Crawl Logs
        9. Server Name Mappings
        10. File Types
          1. Supported File Types
          2. Configuring the Indexer to Support Additional File Types
          3. Configuring the Indexer to Support PDF Documents
          4. Configuring the Indexer to Support Microsoft OneNote Documents
        11. Search Scopes
          1. Creating a New Shared Search Scope
          2. Adding Rules to the New Search Scope
          3. Configuring the Search Scope Compiler
          4. The Default Scopes on a New SSP
        12. Metadata Property Mappings
          1. Crawled Properties
          2. Managed Properties
          3. Creating a New Managed Property
          4. Auto-Creating Managed Properties
          5. High Confidence Result Properties
          6. The Metadata Store
        13. Authoritative Pages
        14. Search-Based Alerts
        15. Resetting the Index
      5. Managing the Search Service
        1. Farm-Level Search Settings
        2. Crawler Impact Rules
      6. Configuring the Preferred Search Center for Personal Sites
      7. Managing Site-Level Search Settings
        1. Binding the Search Box to a Search Center
        2. Managing Local Search Scopes
        3. Managing Keywords
        4. Excluding Web Sites from a Crawl
        5. Excluding Columns from a Crawl
        6. Excluding Lists from a Crawl
      8. Thesaurus
        1. Expansion Sets
        2. Replacement Sets
      9. Noise Words
      10. Diacritic-Sensitive Search
      11. Using PowerShell to Automate Administrative Tasks
        1. Detecting the Search Application Name for an SSP
        2. Scripting a New Content Source
        3. Scripting a Crawl
        4. Scripting a New Search Scope
      12. Summary
    9. 6. Indexing and Searching Business Data
      1. Introducing the Business Data Catalog
      2. Business Data Catalog Architecture
      3. Modeling the Business Data
        1. Creating an Application Definition File
        2. Importing the Application Definition File
        3. Managing the Permissions
      4. Using the Business Data Web Parts
      5. Administration and Configuration
        1. Creating a Content Source
        2. Searching for Business Data
        3. Creating Managed Properties
        4. Creating a Search Scope
        5. Configuration of the Search Results XSL
      6. Working with the Business Data Catalog Runtime Object Model
      7. Summary
    10. 7. Search Deployment Considerations
      1. Key Factors to Consider When Deploying Search
        1. Performance Factors
        2. Availability Factors
        3. Scalability Factors
        4. Security Factors
      2. Search Topologies
        1. Search Components and Their Roles
          1. Role of the Index Server
          2. Role of the Web Front-End Server
          3. Role of the Query Server
          4. Role of the Database Server
        2. Consequences of Downtime for Each Server Role
        3. Common Topology Models
          1. Single-Server Deployment
          2. Two-Server Farm
          3. Three-Server Farm
          4. Four-Server Farm
          5. Five-Server Farm
          6. Six-Server Farm
          7. N-Server Farm
          8. Windows SharePoint Services Farm with Microsoft Search Server 2008
        4. Choosing a Baseline Topology
      3. Software Boundaries
      4. Hardware Recommendations
      5. Calculating Required Disk Space
        1. Calculating the Size of the Content Index
        2. Calculating the Size of the Search Database
      6. Performance Optimization
        1. Optimizing Query Server Performance
        2. Optimizing Index Server Performance
        3. Optimizing Database Server Performance
      7. Measuring the Performance of an Example Deployment
        1. Test Environment
        2. Testing Query Server Performance
        3. Testing Index Server Performance
      8. Summary
    11. 8. Search APIs
      1. Introducing the Search Application Programming Interfaces
      2. The Search Administration Object Model
        1. The ServerContext Class
        2. The SearchContext Class
        3. Working with Content Sources
          1. Listing Content Sources
          2. Creating a Content Source for SharePoint Sites
          3. Creating a Content Source for Web Sites
          4. Creating a Content Source for File Shares
          5. Creating a Content Source for Business Data Catalog Applications
          6. Configuring the Crawling of a Content Source
          7. Deleting a Content Source
          8. Creating and Configuring Crawl Rules
        4. Working with Search Scopes
          1. Listing Search Scopes
          2. Compiling Search Scopes
          3. Deleting Search Scopes
          4. Creating Search Scopes
          5. Creating Scope Rules
          6. Listing Display Groups
          7. Managing Display Groups
        5. Working with Managed Properties
          1. Listing Crawled Properties
          2. Listing Managed Properties
          3. Managing a Managed Property
        6. Improving Relevance
          1. Adding Authoritative Pages
          2. Adding Demoted Sites
          3. Ranking Parameters
          4. Changing the Property Weight
        7. Working with Keywords, Definitions, and Best Bets
      3. Building Search Queries
        1. Keyword Syntax
        2. Enterprise Search SQL Query Syntax
          1. The SELECT Statement
          2. The FROM Clause
          3. The WHERE Clause
          4. Non-Full-Text Predicates
            1. The LIKE Predicate
            2. The Literal Value
            3. The DATEADD Function
            4. Multivalued (ARRAY) Comparisons
            5. The NULL Predicate
          5. Full-Text Predicates
            1. The FREETEXT Predicate
            2. The CONTAINS Predicate
          6. The ORDER BY Clause
      4. The Query Object Model
        1. The Query Class
        2. The KeywordQuery Class
        3. The FullSqlQuery Class
        4. Building, Packaging, and Deploying a Custom Document Searcher Web Part
          1. Developing the User Interface of the Web Part
          2. Making the Web Part Available as a Feature
          3. Developing the Query Execution and Processing the Results
          4. Exposing the Web Part Properties
          5. Packaging the Web Part in a SharePoint Solution
      5. Building a Custom Small Search Box
      6. The Query Web Service
        1. The QueryPacket Element
        2. The ResponsePacket Element
          1. Response for the Query Method
          2. Response for the QueryEx Method
        3. Custom Business Data Search Task Pane in Microsoft Office Word 2007
        4. Registering the Query Web Service as a Research Service
      7. Summary
    12. 9. Advanced Search Engine Topics
      1. Detailed Search Engine Architecture
        1. Shared Services Provider Content Index
        2. Index Engine
        3. Query Engine
      2. IFilters
        1. Building a Custom IFilter
          1. IFilter Interfaces
            1. The IFilter Interface
            2. The IPersistStream Interface
            3. The IClassFactory Interface
          2. IFilter Data Structures
            1. FULLPROPSPEC
            2. STAT_CHUNK
            3. PROPVARIANT
          3. IFilter Error Messages
        2. Interacting with the Filter Daemon
        3. Installing an IFilter on Index Servers
      3. Protocol Handlers
        1. Built-In Protocol Handlers
        2. Building a Custom Protocol Handler
          1. Protocol Handler Interfaces
            1. The ISearchProtocol Interface
            2. The IProtocolHandlerSite Interface
            3. The IUrlAccessor Interface
            4. The IStream Interface
          2. Protocol Handler Data Structures
            3. ITEM_INFO
            4. PROXY_INFO
            5. TIMEOUT_INFO
          3. Protocol Handler Error Messages
        3. Sample Protocol Handler for Indexing a File Share
          1. Sample Protocol Handler Files
          2. Program Flow of the Sample Protocol Handler
          3. Implementing the Main Module with DLL Registration
          4. Implementing the ISearchProtocol Interface
          5. Implementing the IUrlAccessor Interface
          6. Implementing the IStream Interface
          7. Implementing the IFilter Interface
        4. Installing a Protocol Handler on Index Servers
        5. Creating a Custom Content Source
        6. Testing the Sample Protocol Handler
          1. Debugging Tips
      4. Custom Security Trimmers
        1. The ISecurityTrimmer Interface
          1. The Initialize Method
          2. The CheckAccess Method
        2. Registering the Custom Security Trimmer
        3. Testing the Security Trimmer
      5. Faceted Search
        1. What Is Faceted Search?
        2. Office SharePoint Server 2007 Faceted Search
        3. Installing Faceted Search
        4. Adding Faceted Search to the Search Center
        5. Configuring the Faceted Search Web Parts
          1. Configuring the Search Bread Crumbs Web Part
          2. Configuring the Search Facets Web Part
      6. Summary
    13. 10. Searching with Windows SharePoint Services 3.0
      1. The Windows SharePoint Services 3.0 Search Object Model
        1. Building Search Queries
        2. The Query Object Model
          1. The Query Class
          2. The KeywordQuery Class
          3. The FullTextSqlQuery Class
        3. The Query Web Service
      2. Windows SharePoint Services 3.0 Search Administration
      3. Summary
    14. A. Conclusion
    15. B. Appendix
    16. C. Additional Resources for Developers from Microsoft Press
      1. Visual Basic
      2. Visual C#
      3. Web Development
      4. Data Access
      5. .NET Framework
      6. Other Developer Topics
    17. D. More Great Developer Resources
      1. Developer Step by Step
      2. Developer Reference
      3. Focused Topics
    18. Index
    19. SPECIAL OFFER: Upgrade this ebook with O’Reilly