Wednesday, 11 February 2015

SharePoint 2013 Search Configuration for Title

If you have had to configure Search in SharePoint 2013, you will know that, post-October 2013 CU, there is a new property included in the Title managed property called MetadataExtractorTitle.  This is an intelligent crawled property which is used to determine the title of a document (primarily) based on the document structure...not the actual metadata someone might attach to the document through SharePoint.

However, if you should need to return the actual metadata value for Title entered by a user, and not what SharePoint thinks the Title is, then the configuration of this is not intuitive by any stretch of the imagination.  Personally, I spent the best part of a few days looking at the configuration and it was only with the assistance of colleague and his contact within Microsoft that the problem was resolved.

The thing with the Title managed property is that it uses a weighting factor to determine which crawled property to use.  Each crawled property within the managed property has it's only "weighting factor" and it's only the combination of this weighting factor combined with where it appears in the order which determines which crawled property is returned by Search for the Title value - it's basically some kind of complex algorithm to determine which property to use. 

I can only thank my colleague Amar for his immense knowledge and his extremely useful contact within Microsoft for this ordering.  I've not seen anything on the web as yet which shows this, so I'm hoping that this will prove useful to not just myself, but to many others.

Here's the order that worked for us (and it has to be this ordering).  Note that MetadataExtractorTitle is pushed right to the bottom - this has to happen, otherwise it nearly always gets used due to it's weighting:


This returned the Title metadata property (not the one determined from the document structure) as well as working correctly for other items returned by Search.

1 comment:

  1. Hi Stephen,
    I want to get value in Title column(the default column) associated with each row in a list/Library when I perform search using search rest api.
    for e.g.

    But all I get is list/library title and not the Title column value associated with each row .Also I do get author of each item correctly but not the desired value in title column
    I have tried using ows_Title, TermTitle instead of Title but no luck!

    I am new to SharePoint 2013 . Please help !