To replace query_string you need to re-implement its core query language parser and lucene query generation code. This task is to do just that. Plus any extensions we implement on the cirrus side like regex queries, specialized field queries.
Note that we don't expect to be perfect on the first pass: the goal of this task is to get far enough the we plausibly believe we can start integrating it with
See parent task for benefits and stakeholders.