Should I be concerned about a high SMART Hardware_ECC_Recovered value?
Solution 1:
According to Steve Gibson of Spinrite fame, SMART values have to be taken over time, not as instantaneous readings. That means, a value of 47 isn't necessarily bad if the value has been 47 for months. However if the value was 42 an hour ago, and its climbing rapidly, then that means the drive is experiencing difficulty accessing part of the data and may soon be unable to read the sector at all. Depending on the value of the data on that drive you may wish to replace it.
Solution 2:
A high value for this attribute is actually pretty good:
Hardware ECC Recovered S.M.A.R.T. parameter indicates time between ECC-corrected errors.
https://kb.acronis.com/content/9131
Solution 3:
First, lower values are worse for SMART, not higher values (notice how the threshold column is always lower than the current value). So, a value increasing is no cause for worry. (This rule does not apply to the raw values, however.)
SMART values tend to oscillate a bit (yours might be in the edge between 46 and 47, for instance, so even small changes could cause it to flip to the other value).
Your smartctl -a
output shows the worst this value has been is 45, so it oscilating slightly above it is normal.
For more information, take a look at Wikipedia: ATA S.M.A.R.T. attributes.
Solution 4:
Keep in mind that even the extensive study that Google conducted found that a large number of drive failures were not predicted by SMART errors. It's possible what you see is perfectly normal, but as each manufacturer has different metrics for converting the raw values into the reported values it is hard to say for sure if your drive is experiancing a lot of errors or not. However, a raw number that large does strike me as odd.
I would recommend reading all of the drive (dd or rsync'ing to a new drive) and check the SMART values as it goes along. If you see that raw number, or the reported values, change a lot I'd start looking to replace the drive.