Is there any way to change the way refinement query URLs are built so that they use "contains" operation (":") rather than "equals" ("=")?
Scenario:
a) Document A - tagged with Sector = Retail
b) Document B - tagged with Sector = Retail and Energy
c) A search refinement exists for the Sector property.
When I clicking on "Sector : Retail" refinement only Document A is displayed. Document B won't show.
Problem:
When refining my search results by "Sector: Retail" I would expect all items tagged with "Retail" to show up. Not only items tagged with "Sector: Retail" but also tagged with more than one sector (e.g. "Sector : Retail; Energy, Construction")
Cause:
By default when clicking on a search refinement the page is reloaded with a new url that uses an "equals" operation ("=") rather than "contains" (":")
E.g. clicking on a "Sectors: Retail" refinement:
Encoded URL: /Search/Pages/results.aspx?r=sectors%3D%22Retail%22
Decoded URL: /Search/Pages/results.aspx?k=report&r=sectors="Retail"
This will display items that have the "Sectors" field set to "Retail" only.
However, items that have the "Sectors" field set to more than one option (e.g. "Retail" and "Energy") will not be displayed.
Goal:
If I change the URL to use a "contains" operator (":") all items that are tagged with Retail (or Retail and another sector) are displayed fine.
e.g. /Search/Pages/results.aspx?k=report&r=sectors:"Retail"
Is there any way to change the way refinement query URLs are built so that they use "contains" instead of "equals"?
Related info:
http://sharethelearning.blogspot.co.uk/2011/06/refinement-filtering-in-sharepoint.html