Transcript Searching Business Data with MOSS 2007 Enterprise Search
Searching Business Data with MOSS 2007 Enterprise Search
Presenter: Corey Roth Enterprise Consultant Stonebridge Blog: www.dotnetmafia.com
Corey Roth
Consultant for Stonebridge Worked in Consumer Electronics, Travel, Advertising, and Energy industries Currently doing MOSS development specializing in Enterprise Search OSU Graduate Microsoft Award for Customer Excellence (ACE) Winner E-mail: [email protected]
Blog: www.dotnetmafia.com
sharepointblogs.com) (mirrored on
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 Catalog 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
1.
2.
3.
4.
5.
6.
7.
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
Step 1 - 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 – RevertToSelf 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
Step 3 - 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
Step 4 - 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
Step 5 - 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, columns are available as crawled properties Map crawled properties to managed properties for more specific searches Non-text types are not indexed by default
Demo
Step 7 - 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=“Blue”)
Color:”Red”
Color:”Blue” translates to Color=“Red” OR
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!
SharePoint Shared Services Provider Creation (SSSPPC) can help (see blog for more info)
References
Office SharePoint Server SDK http://msdn2.microsoft.com/en-us/library/ms550992.aspx
Faceted Search Web Parts http://www.codeplex.com/FacetedSearch SharePoint Shared Services Provider Creation http://www.codeplex.com/SSSPPC BDC Meta Man http://www.bdcmetaman.com
Ontolica http://www.ontolica.com
Questions?
Thanks
Corey Roth [email protected]
www.dotnetmafia.com