Recently, I was working with Jeff Monette [pointbridge.com] at a client, setting up some Business Connectivity Services (BCS) connectors in SharePoint 2010 to index them with a FAST Search for SharePoint 2010 install.The connectors were set up correctly, and accessing data from external Line of Business (LOB) systems was not a problem.What turned out to be a major problem was the FAST server failing to index what, at first glance, appeared to be seemingly random items from the LOB systems.
I fired up WCF Storm Lite [wcfstorm.com] to view the contents of the suspect elements.As I said, at first glance, there didn’t appear to be anything wrong or out of the ordinary with the results being returned.However, after viewing several dozen results, Jeff and I noticed that in fields being returned as IEnumerabletypes, which are converted to arrays by SOAP calls, there was always a null element.
We thought this was weird because successfully indexed items had completely null fields.Still, the only items that failed to be indexed correctly were items that had null elements in collections fields.It turns out that FAST does not handle collections containing null elements at all.Therefore you must ensure that any collection that can have null elements has them removed from the collection prior to returning the collection to the BCS connector. Otherwise, indexing of these items will fail and these items will not appear in search results.