It’s fairly disappointing that SharePoint 2010 does not offer full FAST FQL queries from the SharePoint 2010 UI. I’m in a position where I would like to provide our high-end search users with the option of writing a full-blown FQL query. Our users will be most interested in writing detailed proximity searches specifying the distance between words.
e.g.
NEAR(chris,skydiving,n=20)
It seems to me that there is a rich and useful query language which we cannot easily utilize!
The good news is that it’s possible to enable FQL queries. There’s a property called EnableFQL on the KeywordQuery object which we can set to TRUE. However, the bad news is that this is not accessible from CoreResultsWebPart due the inheritance of this class and the fact that it’s marked internal. This means that we cannot inherit from CoreResultsWebPart and expect to EnableFQL. This is a real shame because I want all of the good functionality contained in CoreResultsWebPart.
So we have two options:
1. We write our own results WebPart from scratch. This is perfectly possible the only questions, like most things in life, are of time and money :)
2. I found an interesting article which describes how to delve into the KeywordQuery object via reflection when extending CoreResultsWebPart.
http://neganov.blogspot.com/2011/01/extending-coreresultswebpart-to-handle.html
Of course this will not be a supported route but could save a lot of time and money!
Mikael Svenson describes the problem here:
http://techmikael.blogspot.com/2010/11/why-enterprise-search-web-parts-are.html
Decisions decisions! ….