Я думаю, что вы хотите это:
("( (first_name ILIKE ? OR last_name ILIKE ?) AND concat_ws(' ', address1, address2, city, state, country) ILIKE ? )", "%"+name+"%", "%"+last_name+"%", "%"+address+"%")
Я просто добавил круглые скобки вокруг условия имени, так что по сути это говорит, что «либо имя должно совпадать» И «адрес также должен совпадать»
(Примечание: было бы необычно видеть подобное состояние адреса - если есть какие-либо вводимые пользователем данные, они редко будут совпадать с точным адресом.)