Monday, June 18, 2007

Sharepoint BDC search application Full Crawl error

Whenever you write a BDC search application, you follow the steps below:

  1. Write an XML application that searches using a query on one of the properties in the entity by using the "specific Finder" method against the backend database metadata specified in the XML.
  2. SSP -> Import Application Definition -> Browse -> Import.
  3. Ignore the warning message "Profile page creation skipped". It says, its not on a specific single user find and can not create a profile link in the results.
  4. SSP -> Search settings -> Content sources and crawl schedules -> New content source -> Type the name -> Select Business Data from the types of contents available -> Crawl selected app -> select your app

Now, you get the error, when you click on the "start Full Crawl" menu option from the BDC Content source just added.

Reason: There is a problem with your authentications Your current authentication doesn not have the ability to control the search service. Sharepoint Security doesnot allow Your authintications.

Incremental crawl does not work some times, if your applicaiton doesnt include the 'column' that stores the history of the crawl, that tells when was the last time the BDC crawled.

Fix:

  1. SSP -> Search settings -> Default content access account -> Enter the Id and passwrd.
  2. SSP -> Business Data Catalog -> View Applications -> Click on the Application name -> Manage Permissions -> New User -> add the same user id and pwd that you mentioned in the step1.
  3. Click on the 'Copy all permissions to descendants.( This will give permissions on the main entity and all the entities within the entiry)
  4. Sharepoint Central Admin Home page -> Operations -> Services on server -> Office Sharepoint Server Search -> Farm Seach Service Account -> Configurable -> Enter the same ID and pwd that you entered in the step1 and 2.
  5. Wait for 1 minute, as the cache will take 1 minute to load the XML metadata into the BDC object.
  6. SSP -> Serch settings -> scopes -> select the BDC scope -> start full crawl.
  7. Click on the 'refresh' until you see the 'Idle' value.

How to test the query performance and analyze

  1. This is only to test the query running or not.
  2. Go to SQL server and start the profiler to check the queries status.
  3. Start Full Crawl on the BDC scope.
  4. After you clicked on the 'Full Crawl' , you will see the queries started running in the Profiler.
  5. If you do not get the queries running, you can click on the 'View Crawl Log' or Open the sharepoint logs(12 hive\logs) to see whats wrong!

No comments:

Post a Comment