search – Finding unindexed nodes

On a Drupal 8 website, I'm managing the search_cron-indexed paging ratio that remains at a value well below 100%.

The new pages are indexed, but it appears that the updated pages are not indexed again. I suspect that a problem prevents the nodes from being (re) indexed. However, I do not see any errors in the log. Search_cron takes a very long time – several minutes, even if you only index 20 pages per cycle.

There is a Troubleshooting page that contains an SQL query (under "Find Module Problems") to search for unindexed nodes so that you can inspect them for incorrect content. Unfortunately, this only works with Drupal 7 and I could not find a similar page for Drupal 8.

How to find non-indexed nodes on Drupal 8?

Another idea on how to track the problem?

Update: I've now found a way to log the indexed nodes by adding a call to the recorder to NodeSearch.php. Which is certainly a hack.

I can now see that Drupal is trying to index the same nodes again and again, without success and without error message. However, I have not found the reason yet.