I usually store all the search result data in ES, so if I was searching Books I would store the DB id, Title, Author, whatever else I’d show in the result list in ES. If someone performed some action on the result item, I’d go hit PG with the id and get the needed data at that time. This has worked pretty well with our datasets (largest around 30M) and updating in ES isn’t that measurable of an overhead for us.