2й вариант сложнее, но тут ничего не надо переписывать. Периодически нужно выгружать данные в поисковую машину, искать уже её средствами, а она будет отдавать idшники или что там, что бы по ним выбирать строки в БД
Я такое делал, разница в скорости поиска не то что в разы, в 100 раз отличалась