Solr (Lucene really) guarantees that it can read indexes if they were built completely by the previous major version, or an earlier release in the same major version. Thus a 7.x release can read indexes built by versions from 6.0.0 up through that release.
If the index has EVER been touched by something at least two major releases older, compatibility is not guaranteed. So there are situations where upgrading will require building the index from scratch. If you have Solr 5.x, and want to upgrade to 7.x, there is no guaranteed upgrade path. If you have Solr 6.x, upgrade to 7.x, and then later want to upgrade to 8.x when it is released, index compatibility is not guaranteed.
Lucene does offer a tool called IndexUpgrader. In theory, you could upgrade a 5.x index to 6.x using that tool, and then read the index in 7.x ... but the data structure does still retain aspects originally built by 5.x even through that upgrade procedure, and as already mentioned, compatibility in that situation is NOT guaranteed.