There are 2 aspects here:
- Easiest one - the building of the query itself - this could be done by just concatenating strings, or by using QueryBuilder as it was discussed in the first question.
- Most complex one - how the query is executed. In Cassandra it's required that you provided a partition key (at least) when you performing a query. Otherwise you will perform the full table scan that most probably will end with with read timeout.
To mitigate 2nd problem, people are doing denormalization and creating auxiliary tables where particular field is partition key. But this couldn't be done automatically, as you may end with very skewed data distribution for specific tables. Secondary indexes are also have limitations, and best work with partition key as well.
P.S. In DataStax Enterprise, this could be slightly relaxed by adding DSE Search index on the table, but performance would be slightly worse than pure Cassandra.