Well, you just encrypt columns that are sensitive and if there's some known text searches you want to do have a separate index table that you build yourself to join to narrow searches down, then the remaining group of rows could be loaded to memory and search properly. This kind of depends on what the data is. If you were in the position of knowing that you only need to do 20 different predefined searches then you could have a bit field column where the results could be stored (positive or negative) and when the app changes the data it can set the bits
If your needs are basic then you could get pretty creative
