What is the role of the catalog here? SearchableText is not stored in the metadata so you've to recalculate it. From the plone point of view, you should use the SearchableText adapter that does basically the same + adding title, description and other fields. If you just want blocks, yes but you might have to consider IDynamicTextIndexExtender: