Every so often I encounter an issue (using Fess 12.3) where the index that fess uses will get closed and we will get this error :

org.elasticsearch.indices.IndexClosedException: closed

This usually happens when indexing and while the fix is relatively simple (to re-open the index) I would rather find the root cause of the issue than providing a workaround by scripting starting an index.

Any idea what is causing this or how it can be prevented?

What is your environment? OS?
Did you check elasticsearch.log?

Running in docker…yes I received the IndexClosedException error on 6 May but the last line from the ES container is on the 4 May. Regardless I would imagine that if anything closed an index it would be fess rather than ES itself right?

In Fess, only Maintenance page closes/opens fess.yyyymmdd index.
So, Fess basically does not send close request.