Extended file attributes. These are name-value pairs which you can attach to your files on all modern Linux filesystems (on FreeBSD and MacOS X too). Once set, they live with the file until it is destroyed. A natural usage for them would be to define tags, allowing groupings independant from the directory hierarchy.
Why would you want to use them ? Maybe not for modifiable file formats which have sufficient internal explicit metadata (many image formats, PDF, office files, etc.), and maybe not for modifiable files where the text content can be extracted and can serve as intrisic metadata for searching. This leaves a number of important cases: files which you do not want to modify (e.g. a signed PDF), or which you can't edit because you have no appropriate application, or which do not support adequate internal metadata (e.g. some video formats, text files if the content is not self-describing), or which are opaque to your indexer.
Even for formats with adequate internal metadata, you may have a need for a cross-format attribute for which no universal support exists.
So, system support is ok, and use cases exist. Unfortunately, application support is still seriously lacking. As far as I know, no major file manager currently allows setting or displaying extended attributes from its main interface. They're all too busy having fun implementing their own centralized tag storage.
About this: you do not want your primary tag storage to be a central database of opaque format. Tags are a lot of work to set, and you do not want the next upgrade for the whizzbang semantic whatever to lose your work. I can't count the number of times when digikam, which I like a lot, lost its central index. If I hadn't set it up for saving metadata into picture files, this would have been a total disaster. As it is, we just have to tell the application to re-read the data from the images.
Anyway, Recoll now indexes data from extended attributes by default (the code in the previous versions needed to be explicitly configured). You still need to tell it what values to extract and how they should be mapped to internal fields, but this is a simple text edit.
Hoping that the year of the extended attribute is soon coming, I've also started a page with practical tips: enabling, copying, backing up extended attributes, notes about how applications will use them or lose them.