What does "replaying blocks" mean? When I start up bitcoin-qt, the screen says: replaying blocks...0%.

The debug.log's tail contains messages

2017-07-07 11:02:03 Rolling forward 0000000000000000010ac1a0c2f1003ae71457077a3a814a756f0b2b494e03d6 (472746)
2017-07-07 11:02:29 Rolling forward 00000000000000000124599553a07decfe065cc04f22a12fa5e5490e116242e5 (472747)
2017-07-07 11:02:45 Rolling forward 0000000000000000011da8f83f23856222693954dc38a0a203391cf51d3f1a52 (472748)
2017-07-07 11:03:04 Rolling forward 00000000000000000f382b835d682afbcbd2c248f85cbc4944bd8a3609455d3 (472749)
2017-07-07 11:03:17 Rolling forward 00000000000000000036c823c344ece1ca712257b7ed13a8fcea28f087f0a200 (472750)
2017-07-07 11:03:35 Rolling forward 000000000000000000048dbd7fa8b2732a2a1a22a5d8b9ebeaf938a96d52da41 (472751)
2017-07-07 11:03:53 Rolling forward 00000000000000000030d6c28b5cd8b7133c8a7fabc60f6ae65c646115e26237 (472752)
2017-07-07 11:04:16 Rolling forward 000000000000000000e4c2e323230fd6a266741f42aa965c86fae8205e2309ef (472753)


What does that mean? 

Edit
The debug.log also says:

2017-07-07 10:50:35 LoadBlockIndexDB: transaction index disabled


I assume the transaction index should be enabled. Because it's not, this is the cause for the slow start up of bitcoin-qt.

If this is the case, how can I enable the transaction index?
This happens when bitcoind has processed a large amount of blocks in its dbcache but has not written them to disk before the process is exited.

See here for more details.