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.
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.