ok. I found one https://pypi.python.org/pypi/c2.search.customdescription. But looks like it tries to customise the search page to change the summary based on the search. And its for plone 3
It's not actually a index issue. It's a metadata issue. ie what the search results display rather than what search for.
Ideally (if I don't go down the route of elasticsearch), what I want is that if someone leaves the Summary blank, then it automatically picks the first paragraph and/or first X chars instead. It would not display this on a Page but would display it for a File. For a folder... not sure, then it might have to look at the default page.
Looking at the code it looks like there is no quick hack to make this work without overriding the search results page. The
Description method is used by both the Metadata and for displaying on the Page and File templates. The default implementation of this looks up self.description. I could monkey patch this but still the same method is used in both places, so either main_template or search has to change. Probably what is needed is an enhancement to the search results to call an adapter on each result which can override the summary generation. Then this could be implemented looking up a different metadata column which has the automated summary in or c.elasticindex could give something more relevant. But I think automated summaries is probably a good thing to have in the core to be honest.