We have a custom managed property where we run into an issue when querying different users based on that property and the values in their user profile.
User Profile details
We utilize both the OOTB Department property and a custom user profile property called Subdepartment, which is a single value string and indexed.
We also have other custom properties where we see similar behavior, but I will concentrate on the above fields.
Managed property details
The crawled properties for Department and Subdepartment is mapped to a single custom managed property with following configuration
- Searchable (enabled)
- Advanced search settings (Peopleidx:0)
- Queryable (enabled)
- Retrievable (enabled)
- Normalization of token (enabled)
- Crawled properties returns content from the first retrieved property which is not empty(People:Subdepartment, People:Department)
- Alias (Let's refer to it as CustomDepartment)
Example search query and different results
Using the Search Query tool configured to use the People Result Source we are able query different users based on the property alias "CustomDepartment", but with different unexpected results.
As an example we have users with different values in the property, such as (changed the names, but kept the special characters (æøå) and the naming syntax in this example)
- Ørneredden kærup
- Development_Business and Communication
- Kløveren vuggestuen
If we query the following, we get the mentioned results:
- CustomDepartment:"Ørneredden kærup" yields no results
- CustomDepartment:"Ørneredden" yields multiple results
- CustomDepartment:"kærup" yields multiple results
- CustomDepartment:"Development_Business and Communication" yields multiple results
- CustomDepartment:"Kløveren vuggestuen" yields multiple results
What we expected
What we don't understand is why e.g. CustomDepartment:"Ørneredden kærup" doesn't yield any results, even when we can see that multiple users has this value defined in the CustomDepartment managed property.
Looking at documentation it says the following:
Queryable: Enables querying against the specific managed property. The managed property name must be included in the query, either specified in the query itself or included in the query programmatically. If the managed property is "author", the query must contain "author:Smith".