The Search Dictionaries term store group does not exist
Today's SharePoint 2013 configuration quagmire is this: you provision the Search service application, you click on Search Dictionaries - for example, to manage company name extraction or query spelling correction - and you see a largely empty term store.
In other words, you click this:
You expect to see this:
But instead you see this:
As is often the case with these issues, you'll probably that everything works fine if you use the Farm Configuration Wizard to provision your services. However, if you do things properly and create your service applications by hand, you come across this kind of issue.
The Search Dictionaries term set group is not created when you provision the Search service application, it's created when you provision the Managed Metadata service application. When you create a Managed Metadata service application, it should create the Search Dictionaries and the People term set groups in addition to the System group. However, this will only happen if you have provisioned the State service application before you provision the Managed Metadata service application.
You can find details on how to configure the State service here (SharePoint 2010 article, but the steps are the same). For convenience, for a basic deployment, you can provision a State service application by running the following PowerShell cmdlets:
So, in summary, configure your service applications in the following order:
Note: steps 3 and 4 aren't necessary to create the Search Dictionaries group, but the Search service will report errors if the usage and health data collection service app isn't set up. When you configure usage and health data collection manually, rather than using the Farm Configuration Wizard, you'll typically find that the service application proxy is in the Stopped state. For a good explanation on how to start it, see http://tristanwatkins.com/fixing-the-usage-and-health-data-collection-sa/.
In other words, you click this:
You expect to see this:
But instead you see this:
As is often the case with these issues, you'll probably that everything works fine if you use the Farm Configuration Wizard to provision your services. However, if you do things properly and create your service applications by hand, you come across this kind of issue.
The Solution
The Search Dictionaries term set group is not created when you provision the Search service application, it's created when you provision the Managed Metadata service application. When you create a Managed Metadata service application, it should create the Search Dictionaries and the People term set groups in addition to the System group. However, this will only happen if you have provisioned the State service application before you provision the Managed Metadata service application.
You can find details on how to configure the State service here (SharePoint 2010 article, but the steps are the same). For convenience, for a basic deployment, you can provision a State service application by running the following PowerShell cmdlets:
$state = New-SPStateServiceApplication -Name "Contoso State Service"
New-SPStateServiceDatabase -Name "ContosoStateDB" -ServiceApplication $state
New-SPStateServiceApplicationProxy -Name "Contoso State Service" -ServiceApplication $state -DefaultProxyGroup
New-SPStateServiceDatabase -Name "ContosoStateDB" -ServiceApplication $state
New-SPStateServiceApplicationProxy -Name "Contoso State Service" -ServiceApplication $state -DefaultProxyGroup
So, in summary, configure your service applications in the following order:
- Provision a State service application.
- Provision a Managed Metadata service application.
- Configure usage and health data collection.
- Ensure the usage and health data collection proxy is started.
- Provision the Search service.
Note: steps 3 and 4 aren't necessary to create the Search Dictionaries group, but the Search service will report errors if the usage and health data collection service app isn't set up. When you configure usage and health data collection manually, rather than using the Farm Configuration Wizard, you'll typically find that the service application proxy is in the Stopped state. For a good explanation on how to start it, see http://tristanwatkins.com/fixing-the-usage-and-health-data-collection-sa/.
What about an existing farm with MMS already created ?
ReplyDeleteShoul I recreate again ?
Hi Sorin
DeleteIf the existing MMS is in use, maybe you could create a second MMS after you've configured the State service? You can have as many MMS instances as you like - then whenever you get directed to a term store page, you'll have the option to select the term store you want. It's not something I've tested but it might be worth trying.
Incidentally, I've seen some instances where the Search Dictionaries group gets created when you provision the MMS even if the State service isn't configured first. However, configuring the State service first seems to make it work consistently.