SharePoint Search Failing Application Server job failed for service instance

Saturday, October 25, 2008

Was getting this error:

Application Server job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (34c9a339-ef4a-454b-a288-812fd2fd1270).
Reason: Index was outside the bounds of the array.

Techinal Support Details:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.SynchronizeDefaultContentSource(IDictionary applications)
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Solution:

stsadm -o osearch -action stop
Warning: The Office SharePoint Server Search service that was enabled on this server will uninstall and all index files for all SSPs will be deleted. Are you sure you want to permanently delete all data in the index for all SSPs? [y/n]
NOTE: Only do this if you have not crawled / indexed content that cannot be re-indexed. If this is the case, then you open a support ticket with MSFT and work through it. Otherwise, hit Y
Now issue: stsadm -o osearch -action start -role index
You may receive the errror ’start’ action failed. Additional information: the handle is invalid. Wait 30-60 secs and re-issue the command. It should go through fine.
Open Central Admin - select your SSP
Application Management => Manage Search Service => Shared Services Administration
Check / validate your search service configuration.

Yet another SharePoint People Finder

Wednesday, October 22, 2008

So as Wayne said we have been working to implement SharePoint Portal Server at his company MegaPath*.
We added a search scope for the People content source and did not like how broad the result were. A search for "Wayne" returned documents, sites, his manager and direct reports in addition to his "Personal Site" result that links to his personal site. What we really wanted was a result set of personal sites only. Since MegaPath maintains contact information in Active Directory for their employees, this search would eliminate the need for a separate "Employee Phonebook".

I researched several options and found the best to be a modifications to Mark Bower's Wildcard People Finder. Mark uses JavaScript to send a GET query to the SharePoint search page. The change that I needed to make was in the where clause, Mark uses the content class "urn:content-class:SPSPeople". This returns essentially the same results as the People advance search option. I wanted to only return results for:

  • First Name - urn:schemas-microsoft-com:sharepoint:portal:profile:FirstName
  • Last Name - urn:schemas-microsoft-com:sharepoint:portal:profile:LastName
  • Preferred Name - urn:schemas-microsoft-com:sharepoint:portal:profile:PreferredName
  • Account Name - urn:schemas-microsoft-com:sharepoint:portal:profile:AccountName

So I added additional CONTAINS clauses to the query to further focus the search results.

You can download my modified version of the file. It is implemented as a Content Editor web part since it is all just JavaScript. Later I plan on adding this functionality to my WSS Search Box (which I still need to blog). To implement the web part import it as you would any other DWP. Open the source editor and change the [SERVER] to point to your portal search page.

Download Sample

One additional cool thing that Wayne had me do was add the part to three pages, the home page, the My Site template and the Search page. The first two are easy. The Search page was a challenge until I figured that you can simply add "?Mode=Edit&PageView=Shared" to the page URL to display the "Modify Shared Page" link. Then you can import the web part as you would on any other page.

Zie de Stappen:

1.       Download de eerder gespecificeerde people finder

2.       Open de people finder in notepad

3.       Verwijder alle niet noodzakelijke content (tekst in tabel met titel people finder)

4.       Wijzig de URL naar /searchCenter/Pages/peopleresults.aspx?k=__searchterm__%20JobTitle%3A%22personeel%22

5.       Upload de people finder naar de portal