SharePoint 2013 – Fuzzy and Phonetic people search don’t appear to be working


I'm currently working with a customer where People search isn't returning results like they want. Their primary piece of feedback is that if they misspell a name, it's very unlikely that they'll get a match. They liked the experience in SharePoint 2010, but 2013 is making them less than happy. We did some digging and it turns out that "Fuzzy Name Search" isn't working in their environment. The following shows how to troubleshoot the experience. I MUST THANK Igor Veytskin for his help with this. He provided most of the expertise and the log info you see below.

This functionality gets logged to the ULS logs under the category "Fuzzy Name Search". Crank your ULS logging to VerboseEx for that category by doing the following.

Set-SPLogLevel -TraceSeverity VerboseEx -Identity "Fuzzy Name Search"

Then, execute a few queries. Open your ULS logs. You need to look where your Query and Index components are hosted. You should see something that looks like the following, for a successful query.

02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajye6     VerboseEx          CCAPeopleIntentNameSearchProducer : Fuzzy analysis succeeded for the input query.                9e09eb9c-8da0-d098-2941-905059663b99
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajyew     VerboseEx         CCAPeopleIntentNameSearchProducer : Beginning Fuzzy Intent Name Search Analysis for query: erik Johannessen in language:en-US.                9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajyg9     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis: ExtractMinedCandidates returned Count = 76 and took time: 15.6248 Milliseconds for Query: erik in language: en.     9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajyeq     Verbose             CCAPeopleCoreNameSearchProducer : Core Fuzzy Searcher will not mine additional candidates for tenant: {0) as the input query record with correlationId: {1} and parentCorrelationId: {2} is an Intent query..  Available parameters: 0c37852b-34d0-418e-91c6-2ac25af4be5b 42669c60-6532-4cd4-8300-f62fcc702f46 9e09eb9c-8da0-d098-2941-905059663b99 . 42669c60-6532-4cd4-8300-f62fcc702f46
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajyg9     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis: ExtractMinedCandidates returned Count = 52 and took time: 0 Milliseconds for Query: johannessen in language: en.     9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajygx     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis : RestrictivePostProcessing_stage1 took time: 0 Milliseconds.      9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajygy     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis : RestrictivePostProcessing_stage2 took time: 0 Milliseconds.      9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajygt     VerboseEx          FuzzyNameSearcher : IntentCCAFuzzySearcher mined [Candidate:johannessen, erik j. GeometricSimilarity: 1 NormalizedConfidence:1] for Query:erik johannessen IsComparable:true               9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajygz     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis : RestrictivePostProcessing_stage3 took time: 0 Milliseconds.      9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajyg2     VerboseEx         FuzzyNameSearcher : NameIntent_WatchAnalysis : PostProcessMinedCandidates took time: 0 Milliseconds.      9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajye1     Verbose             CCAPeopleIntentNameSearchProducer : NameIntent_WatchAnalysis: Intent Fuzzy name searcher took time: 15.6248 Milliseconds to mine candidates.         9e09eb9c-7da1-d098-2941-9d33624bde07
02/18/2015 12:00:00.00  NodeRunnerQuery1-1faa807f-d755- (0x2118)      Search  Fuzzy Name Search     ajye6     VerboseEx         CCAPeopleIntentNameSearchProducer : Fuzzy analysis succeeded for the input query.                9e09eb9c-7da1-d098-2941-9d33624bde07

 

BUT, if you don't find what you're looking for, you might see something like the following, indicating fuzzy search isn't working.

02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajyew     VerboseEx         CCAPeopleIntentNameSearchProducer : Beginning Fuzzy Intent Name Search Analysis for query: erik Johannessen in language:en-US.              aade16fa-3d50-4508-b709-29686d23b5b2
02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajyfa     Unexpected        CCANameProjector : Exception:Exception : Access to the path 'D:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl' is denied. encountered while attempting to  load the Projection Model Catalog D:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl for Language : en encountered while attempting to load the projection model.            aade16fa-3d50-4508-b709-29686d23b5b2
02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajyg3     Monitorable       FuzzyNameSearcher : Failed to load the projection model for language: en.          aade16fa-3d50-4508-b709-29686d23b5b2
02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajyg7     Monitorable       FuzzyNameSearcher : Exception: Failed to fetch the projection model for query: erik johannessen in language: en-US               aade16fa-3d50-4508-b709-29686d23b5b2
02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajye1     Verbose           CCAPeopleIntentNameSearchProducer : NameIntent_WatchAnalysis: Intent Fuzzy name searcher took time: 0 Milliseconds to mine candidates.               aade16fa-3d50-4508-b709-29686d23b5b2
02/18/2015 13:00:00.00  NodeRunnerQuery1-d6b3401f-51a1- (0x24F4)      Search  Fuzzy Name Search     ajye3     Monitorable       CCAPeopleIntentNameSearchProducer : Fuzzy analysis failed for the given query. Check logs for more information.       aade16fa-3d50-4508-b709-29686d23b5b2

 

To fix this, you likely need to check the permissions on the folder/location listed in the ULS logs. This is what the default permissions look like on the folder. Make sure yours match. Make sure the account you're using for the Host Controller and Search Service exists in the WSS_WPG group. This needs to happen on both the Crawl Component Servers and the Query Processing Servers. If your SharePoint permissions look problematic beyond this location, you can also try to leverage the Initialize-SPResourceSecurity PowerShell command. This will attempt to reapply all the necessary permissions SharePoint requires. It must be done on each server.

 

FuzzyPerms

Assuming you saw the permission error, once you fix permissions, things should come back to normal. You may need to restart search services, or even the whole server. When that's completed, it will take some time, possibly 24 hours, to do the behind the scenes magic to build the cache. If you see the following entries in your ULS logs, you know things will be working shortly. These are logged with the VerboseEx setting enabled.

CCAPeopleIntentNameSearchProducer : Boot-Strapping of the Fuzzy name searcher is not complete. Reason: Auxillary-CCA datacache for tenant:XYZ is currently being constructed. People Intent search will start working after the cache is completely populated. This is expected.

 

When you're all done, don't forget to set your ULS logging back to your desired/non-troubleshooting setting.

Comments (3)

  1. Thanks for sharing. Actually saw this at one of our acceptance farms from one of our customers. Very usefull article!

  2. In our case we had to add the search service account to the WSS_ADMIN_WPG group which makes senese if you read the section about the Data folder and WSS_ADMIN_WPG group at technet.microsoft.com/…/cc678863.aspx.

    Tricky stuff!

  3. Pjos1 says:

    Thanks for your post!  I found that the search service account needed more than just read/execute permission, as Mikael also points out.  In addition, though the permission fix (and restart of services) did stop us from getting the "access to the path…" error in the log, the cache didn't start building until we initiated a new full crawl.  Hope this extra info helps the next person.  Tricky indeed but it feels so good to see it working now 🙂

Skip to main content