Pretty cool. The only drawback that I can see right now is the need to send all searchable data twice, increasing overall amount of data that needs to be sent to client.
If one is inserting the raw text into all those data attributes then hopefully there isn't too much text involved. Without too much extra markup involved as well.
Plus, one would have to write that client side code to parse all that text to insert into said data attributes.
Although, I suppose if you're just doing this on a list of data, as in the example, then it would likely be reasonable.