String refinements with special characters result in a malformed query error

  • Updated

When the search provider for a CMS site is Microsoft's FAST Search for SharePoint 2010, some string refinements containing special characters can result in a malformed query error when applied to search criteria.

An error (malformed query) occurs when submitting a query with a refinement known to include a special character, such as an exclamation mark (!). Zero results are returned.

Refinements that include a special character, such as an exclamation mark (!), can result in a malformed query error being returned from Microsoft FAST Search for SharePoint 2010. Typically, this would occur when the refinement represents a single word phrase with the special character interspersed. For example, a refinement with a value of "ref!nement" would generate such an error.

 
The error occurs as a result of a failure within SharePoint to successfully communicate refinement data, containing certain special characters, to FAST's query server.
 
A sampling of the FAST query log (found in %FASTSearch%\var\log\querylogs on your FAST server) shows the refinement data containing the special character submitted from SharePoint without the required double-quotes (encoded as %22) that typically surround multi-term phrases and terms with special characters.
 
 
/cgi-bin/search?hits=10&resubmitflags=1&rpf_navigation:hits=100&query=and(and(string(
%22careers%22%2cmode%3d%22simpleall%22%2cannotation_class%3d%2299%2c97
%2c114%2c101%2c101%2c114%2c115%22)%2cor(and(and(not(ebicontenttype1%3a201)
%2cnot(ebicontenttype1%3a202))%2cebicontentlanguage%3a1033)%2cand(not(contentsource
%3aequals(%22ektron4EKTENG6OnTrek20120615%22))%2csize%3arange(0%2cmax%2cfrom
%3dGT))))%2c+contentsource%3a%22ektron4EKTENG6OnTrek20120615%22)&similartype=
refine&collapsenum=1&qtf_lemmatize=True&version=14.0.0.0&spell=suggest&qtf_parsekw:
timezone=-1&rpf_navigation:enabled=True&offset=0
&rpf_navigation:navigators=emtspecialcharacterproperty
&collapseon=batvdocumentsignature&sortby=-rank&qtf_teaser:dynlength=185&rpf_sortsimilar:enabled=True
&language=en&qtf_parsekw:locale=eng&navigation=
%2bemtspecialcharacterproperty%3a%5eREF!NEMENT%24
&qtf_securityfql:uid=MCMud3xjb250b3NvXGFkbWluaXN0cmF0b3I=
 
 

Reconsider using metadata and other properties as refinements when they may contain values with special characters as described above.