What's the advantage of doing this instead of just making tags a separate table with a many-to-many relationship with documents?
If your data is seldom updated (or not that big), not used for database operations, and having it all in memory is fine, it can be better to use native arrays.