SharePoint Search Results – Exception + Correlation ID

When configuring a new SharePoint 2010 search page (results.aspx), there are a number of webparts that you can use – the newest (& best !) is the left-hand Refinement panel.

This will group results according to common groupings such as Document Type, Date, and any managed meta data values.

I’ve been having some random errors with the page – some search terms – and/or clicking on “show duplicates” – would cause an error – and the correlation GUID :

image

When poking into SharePoint logs, it appears that there is an error happening with the “TaxonomyFilterGenerator” – which is used by the Refinement panel :

Internal server error exception: System.Xml.XmlException: An error occurred while parsing EntityName. Line 1, position 12.     at System.Xml.XmlTextReaderImpl.Throw(Exception e)     at System.Xml.XmlTextReaderImpl.ParseEntityName()     at System.Xml.XmlTextReaderImpl.ParseEntityReference()     at System.Xml.XmlTextReaderImpl.Read()     at System.Xml.XmlLoader.ParsePartialContent(XmlNode parentNode, String innerxmltext, XmlNodeType nt)     at System.Xml.XmlLoader.LoadInnerXmlElement(XmlElement node, String innerxmltext)     at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.CreateFilterResultElement(XmlDocument filterXml, String filterId, String displayName, FilterCategory filterCategory, String mappedProperties, SortedList`2 filterValueList, String associateTermSets) at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.CreateMetadataColumnFilters(XmlDocument filterXml, List`1 filterValue, Int32 maxFilterCats, FilterCategory fc, Boolean includeAutoFilters)     at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.GetRefinement(Dictionary`2 refinedData, XmlDocument filterXml, Int32 maxFilterCats)     at Microsoft.Office.Server.Search.WebControls.RefinementManager.MergeFiltersFromGenerators()     at Microsoft.Office.Server.Search.WebControls.RefinementManager.GetRefinementXml()     at Microsoft.Office.Server.Search.WebControls.RefinementWebPart.GetXPathNavigator(String viewPath) System.Xml.XmlException: An error occurred while parsing EntityName. Line 1, position 12.     at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ParseEntityName()     at System.Xml.XmlTextReaderImpl.ParseEntityReference()     at System.Xml.XmlTextReaderImpl.Read()     at System.Xml.XmlLoader.ParsePartialContent(XmlNode parentNode, String innerxmltext, XmlNodeType nt)     at System.Xml.XmlLoader.LoadInnerXmlElement(XmlElement node, String innerxmltext)     at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.CreateFilterResultElement(XmlDocument filterXml, String filterId, String displayName, FilterCategory filterCategory, String mappedProperties, SortedList`2 filterValueList, String associateTermSets)     at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.CreateMetadataColumnFilters(XmlDocument filterXml, List`1 filterValue, Int32 maxFilterCats, FilterCategory fc, Boolean includeAutoFilters)     at Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator.GetRefinement(Dictionary`2 refinedData, XmlDocument filterXml, Int32 maxFilterCats)     at Microsoft.Office.Server.Search.WebControls.RefinementManager.MergeFiltersFromGenerators()     at Microsoft.Office.Server.Search.WebControls.RefinementManager.GetRefinementXml()     at Microsoft.Office.Server.Search.WebControls.RefinementWebPart.GetXPathNavigator(String viewPath)    57c714fc-de8e-45a7-ad84-bfc7686acb99

===================================================================

There are actually SIX FilterCategories included in the Refinement Panel WebPart :

  • Result Type – The file extension of the item   
  • Site – Which site this document is from  
  • Author – Use this filter to restrict results authored by a specific author 
  • Modified Date – When the item was last updated 
  • Managed Metadata Columns – Managed metadata of the documents   
  • Tags – All managed metadata of the documents and social tags 

It’s these last two that are causing the issue (in this circumstance). 

The first few use the following component :

Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator

With the last two using :

Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator

It turns out – after some suspicions related to “XML Parsing” – that the problem is actually due to a column name in a document metadata column containing the & character, the < character, or the > character.

Thankfully, Microsoft has a KB article for this – and the December 2010 CU will fix it :

The search results page throws an exception when a name in a document metadata column contains "&", "<", or ">" characters in SharePoint Server 2010

If you’re NOT able to apply this fix – or need to ‘get around’ the problem in the mean time – you can do the following – I had to do this to get moving again :

  • Navigate to results.aspx
  • NB. make sure you DON’T have a search term – or query string (?k=FRED)
  • Edit Page
  • Edit the Web Part for ‘Refinement Panel’
  • Click the […] box for the Filter Category Definition

image

  • Remove the last two entries as mentioned above

image

  • ie. the Category tags – for the “Managed MetaData Columns” – and “Tags”
  • NB.  IMPORTANT – make sure you ‘untick’ the box for “Use Default Configuration

Then – just need to click OK, and Save / Check-In the page.

This will remove (ignore) the problem – until you’re able to apply the Cumulative Update – unfortunately, won’t be any refiners for the Managed MetaData columns.

Alternatively – you can re-name your columns – to NOT have the XML’ish values in the name – don’t use &, < or >.

Hope that helps – and your SharePoint Search is ‘happy’ again.

Smile

Advertisements

3 thoughts on “SharePoint Search Results – Exception + Correlation ID

  1. i’m quite certain i’m having this problem…except i can’t the results.aspx page to come up AT ALL, so i can’t edit and remove the custom column name i added that started this whole mess. any idea how to manually edit the page code to remove it? i can’t figure out where the page resides or the web part files or anything.

    btw, i changed the core search results web part, not the refinement panel. i was trying to see the raw XML of a custom managed metadata property i created.

    Like

  2. YES! that did it. i had to just close the parts that were causing issues, but that gets me the results page back and now i should be able to undo the changes. i had no idea about the maintenance mode, so thanks!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s