This is working fairly well, surprisingly.
Note: I've cheated, to get the context I re-build the search document using the indexing code
instead of querying mysql to get it out of the {object-type}_ffields table.
I _think_ this is more efficient than the alternative, however, I may be entirely mistaken.