Riak Search will do this for you. The Riak key/value store also has post-commit hooks that you can use: http://docs.basho.com/riak/1.2.1/references/appendices/conce...
(Full disclaimer: I work for Basho.)
Edit: I shall add that the most interesting search problems are the ones where you need to join separate data sources, and in such cases it is not really the question of what kind of search solution you are using, rather what kind of async queue and data update you have. So the separated cluster is really about having a distributed queue between the 'data-master' and the 'search-master'.
[0] http://docs.basho.com/riak/latest/ops/building/planning/back...
[1] http://docs.basho.com/riakcs/latest/cookbooks/configuration/...