I have an External List over a products table in our database. I want to be able to build a search form over it via a full text search; in addition to being able to filter down on properties on my initial search.

For example, say I'm looking for DVDs under 10.00 in product DB. I want to be able to have a search box where I enter "DVD OR Movie", but I also want to be able to have a price box where I could enter a max price of 9.99.

My impressions of SP2010 search solutions is that its easy enough to perform a full text search over an EL with Search Services, but at the same time being able to filter down by additional attributes doesn't appear to be possible out of the box. I know with FAST, I can do a full text search; then filter down the results on the result page via each item's properties. However, we're building custom functionality on the results page allowing users to add an item from the search result set to another list; so I can't use Search Services or FAST's results page.

I'm thinking my best bet is CAML; but my readings on the subject lead my to believe CAML doesn't support full text search. I could also try LinqToSharePoint ; but that doesn't support full text search either.

Given my circumstances, do I have any other options besides CAML or Linq? Any constructive input is greatly appreciated.

Thanks, Frank

1 Answer 1


My advice is to use FAST all the way.

You can crawl your external content type fairly simply, you just go into the BCS Service App and add a new Line of Business system and select your external content type (you need a Profile Page created for this). The security settings can catch you up, but it works and crawls quite nicely.

From there, if you want custom refiners, you need to take the crawled properties and feed them into Mapped properties. Once done, you add the Mapped properties into the refiner webpart and use them as you would any other refiner.

You can still use the core results webpart, you just need to alter the functionality, either via XSL (I use this to help users open the "View Properties" page in a dialog) or via c#. Exactly what depends upon the requirement.

For a custom search on a specific field, you can simply create a new page and limit the scope (or feed in a specific FQL statement). This should be pretty simple using the OOTB webparts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.