Method/adapter returning the indexable content for SearchableText?

Is there some helper method or an adapter that would return indexable content of an arbitrary content object? In particular, I am looking for the method that what the data that goes into the SearchableText index. But it's not the SearchableText() default implementation in CMFCore which only returns title + description.

The SearchableText indexer is in plone.app.contenttypes:

Though, IMHO we need to refactor the entire concept of how we index stuff. Volto has new needs (indexing blocks content instead of RichText) and indexing servers (Solr, ES, etc) index content in a more sophisticated way than just dropping everything into SearchableText. IMHO SearchableText is something that should be easy to delegate to an index server (or drop entirely because it is not needed at all in those scenarios).

Thanks, this helps.

In zopyx.typesense, we work similar to Plone with a title index and an index for the text.
But is would be easy to configure a more smart schema e.g. which could include all texts from headlines in order to rank hits in headlines higher than in the body but lower than in the document title.

In collective.elastic.plone/collective.elastic.ingest we managed it the other way around, we use the plone.restapi to (async) fetch the complete data of an object, then index it in ElasticSearch and finally ZCatalog can have one or more ElasticSearchProxyIndex indexes configured to search as needed for the site (like which weights, fields, ... -> the full ElasticSearch possibilities).