At the moment the search is not a commonly used function. The usual usage is to search by one field, e. g. reservation code or invoice number. I don’t think there was requirement to search by more fields ever.
The suggested solution means change in meta model and we prefer to search for other solution before touching it.
OK, understand, avoid meta model changes. But there is any better solution needed as now it takes absurdly long time to add new fields to search when a new entity is created. Let’s discuss that please.
My proposed solution would be an action that generates the search data source from an entity field. It should ask for:
an existing filter (it can propose one by naming convention, e.g. GetByFieldName)
an existing lookup with an existing menu binding (it can propose one by naming convention, e.g. LookupEntity where Entity is the name of the current entity)
If the filter would not exist, it could create the equal filter with a parameter. The lookup has to always be specified by the user as most probably it does not exist so it would have to be modelled first.