In other news in Simpsons: SharePoint Search stopped indexing some properties again.

Issues with User Profile Property visibility in Search-powered functionalities

This article applies to a lot of different issues you might be having with your SharePoint-powered site, or even custom functionality like mobile apps using SharePoint’s search index.

I’ll list a few of the situations, which could be caused by these issues, below:

  • You’re using Search to show a list of User Profiles with their properties, but it’s showing outdated or missing information
  • Your intranet has the classic “Upcoming Birthdays” -webpart (only weather and lunch lists are more classic than that!) This webpart is not showing some of the organization members at all.
  • The aforementioned webpart might also show nobody at all.
  • You’re searching users on SharePoint’s People Search based on their profile properties, but aren’t getting results, or you get outdated results.
  • You have built a mobile application, that shows user profiles based on the information in SharePoint Search index, but this application works errorenously for at least some users.

Reason for the issue

These issues are most of the time caused by an odd glitch in SharePoint’s search indexing. Every now and then, crawler might start ignoring certain properties from certain user profiles.

This is kind of a well-known issue, even though you can’t really know what went wrong. I don’t think anyone really knows 🙂 Luckily, it’s also reasonably easy to fix!

How to fix this?

If you’re on-premises, you might want to check that your indexing component is running, your application servers are not out of memory, your index freshness is good and that there aren’t any errors in general.

You can always start a full crawl for your People Results result source. If that doesn’t help, check out the next steps, as even though they are for SharePoint Online, the basic concept sometimes helps on-premises, too. Just replace “RefinableDate” with whatever Managed Property you want to use, and be sure to configure them on the farm level!

Fixing non-indexed or non-updated properties in the Search Service in SharePoint Online

In SharePoint Online, there aren’t that many things you can do. Setting crawl schedule, running a full crawl – all of that is out of your hands! And that’s often a good thing, because dealing with some of the search issues that SharePoint Server might have, are quite frankly sometimes very painful.

Let’s presume that you’re using any functionality which shows users birthdays, mapping the People:SPS-Birthday property to any RefinableDate -property. However, this is not quite working. How to fix this?

For that scenario, the steps are these:

  1. Remove the alias from the RefinableDate you’re using.
  2. Remove the mapping between the People:SPS-Birthday & the RefinableDate. Save.
  3. Change the mapping to another RefinableDate.
  4. Add the alias to that RefinableDate.
  5. Temporarily create a new User Profile Property (call it “TempProp” or something similar).
  6. Add a value to that field for any user (nothing vulgar, thank you very much!)
  7. After SharePoint Search indexing has run (I’d guess after a few hours, but the next day at the latest), remove the value from the property.
  8. Then remove the property.

At this point, everything should work.

Alternatively, you can use Mikael Svenson’s scripts for reindexing user profiles – the end result should be the same: https://github.com/wobba/SPO-Trigger-Reindex

The following two tabs change content below.

Antti K. Koskela

Solutions Architect / Escalations Engineer at Koskila / Norppandalotti Software / Valo Solutions
Antti Koskela is a proud digital native nomadic millenial full stack developer (is that enough funny buzzwords? That's definitely enough funny buzzwords!), who works as a Solutions Architect for Valo Intranet, the product that will make you fall in love with your intranet. Working with the global partner network, he's responsible for the success of Valo deployments happening all around the world. He's been a developer from 2004 (starting with PHP and Java), and he's been bending and twisting SharePoint into different shapes since MOSS. Nowadays he's not only working on SharePoint, but also on .NET projects, Azure, Office 365 and a lot of other stuff. This is his personal professional (e.g. professional, but definitely personal) blog.

Let me know your thoughts!