SP2013 Dynamic dictionaries not working

Hi Everyone,

In our SP2013 search deployment, we identified that the dynamic dictionaries for spell check functionality are no longer working. Did You Mean functionality only works for the keywords added under Query Spelling inclusions. I have already verified that all the required timer jobs "Search Custom Dictionaries Update" and the Spelling Dictionary Update" run successfully as scheduled. Additionally queryspelling under LinguisticComponent is also enabled. Already tried setting it to False, and back to True and restarted Host controller service.

We additionally removed all the keywords under Query Spelling Inclusion to verify if somehow those keywords were causing the automatic spellcheck dictionary not to work. However that did not help. Additionally although all the configurations are same on another lower environment we cant replicate the issue. ULS logs were of no help.

Can anyone provide inputs into which additional configurations can be checked to verify the root cause of this issue? How do I verify which configuration/service might have caused the automated spell check dictionary to stop working.

Any inputs are appreciated.

Regards,

Jaya

July 23rd, 2015 8:06am

Hi Jaya,

We are currently looking into this issue and will give you an update as soon as possible.

Thank you for your understanding and support.

Thanks,

Daniel Yang

Free Windows Admin Tool Kit Click here and download it now
July 26th, 2015 11:22pm

How many documents do you have in your SharePoint? For dynamic spelling correction to work, you should have at least several thousand medium-sized documents. The default settings require that a word occur in at least 1000 documents to be included in the dictionary.

On premise, you see and edit these options using PowerShell:

$ssa = Get-SPEnterpriseSearchServiceApplication 
Get-SPEnterpriseSearchQuerySpellingCorrection -SearchApplication $ssa

You can change them with:

Set-SPEnterpriseSearchQuerySpellingCorrection

July 26th, 2015 11:57pm

Hey Mike/Daniel,

Thanks for the reply. I investigated more and this seems to be an intermittent issue. The dynamic dictionary works as expected on some days and on other days, only the keywords in "Query Spelling Inclusions" work. What I identified is that although the "Spelling Dictionary Update" timer job shows that it has run successfully, but if the duration of the run is around 10-20 seconds, the dynamic dictionaries stop working.

I did manage to figure out the way to get dynamic dictionaries working again

 Disabling and enabling QuerySpellCheck in LinguisticComponent
 Restarting Host Controller service & OSearch15 on Query/Index search servers

Post this re-run the Spelling Dictionary Update timer job. If runs for ~1 min, as checked spell check start working.

Although the above steps help in fixing the issue, it seems temporary. The next time, this timer job runs for around 10-20 seconds, dynamic dictionaries stop working again. ULS logs don't point to any specific error, although a comparison does show that few steps are missing during the run duration of 10 secs.

Any suggestions on what might be causing this timer job to be apparently failing.

Regards-Jaya

Free Windows Admin Tool Kit Click here and download it now
July 27th, 2015 12:29pm

Hi Jaya,

Please try the following PowerShell script, and resetting the Search Host Controller.

$searchApp = Get-SPEnterpriseSearchServiceApplication

Set-SPEnterpriseSearchLinguisticComponentsStatus -SearchApplication $searchApp -QuerySpellingEnabled:$false

Set-SPEnterpriseSearchLinguisticComponentsStatus -SearchApplication $searchApp -QuerySpellingEnabled:$true

Best Regards,David

August 7th, 2015 3:06am

Hi David,

Resetting the Hostcontroller and OSearch15 service does help in getting the dictionaries to work again. But it acts as a workaround as mentioned by me in the above email thread.

The root cause of why the "Spelling Dictionary Update" timer intermittently fails is yet to be found.

Kind Regards-Jaya

Free Windows Admin Tool Kit Click here and download it now
August 12th, 2015 9:38am

Hello Jaya,

Could you please check the ULS logs to see if there is any information related to this timer job when this issue occurred. Without enough information, it will be hard for us to tell the root cause of the failure of the "Spelling Dictionary Update" timer job.

Another option will be submit a ticket to Microsoft, and let the support engineer help check the root cause, and provide solution. I think this may be the most effective way to get this issue fixed permanently.

Best Regards,

David

August 13th, 2015 9:21am

Hi David,

Yes we did a comparison on the ULS logs from when the job runs successfully (i.e. greater than 50s), and when it runs for around 10-15s, post which dictionaries stop working. For successful processing, the TermFrequencyReaderEvaluator+TermFrequencyReaderProducer: is able to get back the totals terms, whereas during an unsuccessful run, it is unable to fetch any term i.e. TermFrequencyReaderEvaluator+TermFrequencyReaderProducer: [0]: Got back 0 terms (0 total)

We have already raised a Microsoft ticket to get the root cause for this intermittent issue identified. Guess some more troubleshooting is required here. 

Regards,

Jaya

Free Windows Admin Tool Kit Click here and download it now
August 31st, 2015 5:38am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics