Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
Corey Roth Consultant for Stonebridge Consultant for Stonebridge Worked in Consumer Electronics, Travel, Advertising, and Energy industries Worked in Consumer Electronics, Travel, Advertising, and Energy industries Currently doing MOSS development specializing in Enterprise Search Currently doing MOSS development specializing in Enterprise Search OSU Graduate OSU Graduate Microsoft Award for Customer Excellence (ACE) Winner Microsoft Award for Customer Excellence (ACE) Winner Blog: Blog:
Why Enterprise Search? Allows indexing surfacing of business data from multiple systems with little or no code. Through Business Data Connector (BDC) can index non-SharePoint applications BDC can index data in SQL Server, via Web Services, and other database providers Can also be used to index Active Directory (People Search) Designed to search text – Other data types can work but there are limitations
Business Data Connector Abstraction Layer between MOSS and Business Applications Provides support for displaying and searching data from databases and web services Designed for Readonly access Inserts/Updates/Deletes are possible but there are limitations
Security Security is required for the following accounts Domain Accounts are recommended Content Access – Defined in Search Settings; Needs read access to database table; Needs BDC Execute permission Shared Service Provider Account – Used for profile pages; Needs BDC Execute/Select in Clients permission Administrators – Specify an account with full control or you will run into issues End Users – Need BDC Execute/Select in Clients permission
Steps Create MetaData Model for Business Application Import MetaData Create Content Source Crawl Business Data Create Managed Properties and map them to Crawled Properties Crawl Business Data (Again) Create Search Scope
BDC Metadata Model XML file which maps entities from databases or web services to the BDC Defines default actions when a search result is clicked Requires a unique id in the data source Three types of methods Get – Returns all records from a table or view Details - Returns details for a specific record IDEnumerator – Used by Enterprise Search to determine rows to index
BDC Metadata Model Version Number – Increment every time you import during development LobSystemInstance element AuthenticationMode – ReverToSelf AccessControlList element – Specifies Security (can also do through SSP) Action element – Sets a default action
BDC Tools Tools can be useful for generating XML MetaData schema Office SharePoint Server SDK BDC Meta Man Many Others Available Now
Start Small Crawls over entire tables can take a long time Avoid crawling full tables when testing Modify Schema file to crawl partial tables i.e.: SELECT TOP 50…
Demo
Content Sources Content Sources can map to one or more BDC Application Definition Used to start and stop content crawls Typically map one application definition to one content source
Crawling Uses IDEnumerator method to get list of rows to import. Calls SpecificFinder method for each Id returned by IDEnumerator Stored columns from table or web service as crawled properties
Demo
Managed Properties Out of the box, a search will do a full-text search on all text properties Can be used to create advanced search pages After first crawl, all text properties are available as crawled properties Map crawled properties to managed properties for more specific searches
Demo
Scopes Scopes are used to specify different types of content to search (i.e.: Products, People, Sales, etc.) Scopes can be defined by Content Source or Managed Property Typically map to a Content Source to make it easier to test application definitions Can be displayed in drop down lists in conjunction with the SearchBox web part
Search Center Out of the box site and web parts for searching and displaying results Can be created using the Site Settings menu on the root web site by enabled certain features Supports keyword search only (no wildcard) For wildcard search consider a Search Center Replacement such as Ontolica
Keyword Syntax Used to Search by Managed Properties Can Specify Scopes (Scope:”MyScope”) Can be passed via URL to CoreResultsWebPart (k Query String parameter) AND implied between each keyword (i.e.: Color:”Red” Size:”M” is the same Color=“Red” AND Size=“M”) OR implied when multiple keywords of the same managed property used (i.e.: Color:”Red” Color:”Blue” translates to Color=“Red” OR Color=“Blue”)
Search Center Features Required Site Collection Features Office SharePoint Server Enterprise Site Collection features – BDC Web Parts Office SharePoint Server Search Web Parts – Enterprise Search Web Parts Site Features (Root) Office SharePoint Server Publishing – Adds Create Site menu item and publishing features
Search Center Web Parts SearchBox CoreResultsWebPart BestBets Paging AdvancedSearch
Search Center Customization CoreResultsWebPart displays search results Columns property – XML specifying Managed Properties XSL – Transform the HTML output of the search results Column names are specified in lower case in XSL (i.e.: Color will be color)
Deployment and Migration MOSS has no built in way to move Enterprise Search settings! MOSS has no built in way to move Enterprise Search settings! SharePoint Shared Services Provider Creation (SSSPPC) can help (see blog for more info) SharePoint Shared Services Provider Creation (SSSPPC) can help (see blog for more info)
References Office SharePoint Server SDK Faceted Search Web Parts SharePoint Shared Services Provider Creation BDC Meta Man Ontolica
Questions?
Thanks Corey Roth