Custom Search Unknown column 'contact_a.id' in 'field list'
Does your class extend a base class? A parent method in there might be expecting you to alias your main contact table "AS contact_a".

You can either


do what the base class is expecting, in exchange for it doing some of the work for you,
override the methods as needed,
not extend the base class and implement the required interface methods yourself.