I guess it's a very specific case and the user knows most tables by name. As a result, you can create a more advanced query system, much like Gmail does when filtering.
For example, let the user type:
Now, look for all occurrences of "car" in the type.
Depending on the technical level of your users, you can extend it to:
car in type, vehicle, transportation
You can even provide them with car * to find carbefore somewhere in the type of columns, vehicle or transport.
You can go very far in this area, but make sure that a default search of the car, with nothing special, continues to work.
Also make sure that you do not create an extra layer of difficulty in which the user has to make sure his request is valid. Try to tell him if he forgets a necklace by validating the entry:
Does column vehicle transport exist? No, the column vehicle, yes, the column transport, yes, it's probably what it means.
Add a bit of awesomeness (for an unsuspecting user who knows SQL) and let him type:
car in type, vehicle, transport by speed
And show the results in order of speed. But in your case, this could be exaggerated, evaluate the value in relation to the cost.