Поиск по таблице, как сделать?
на каком-нибудь значении полей типа xxx');drop table sale -- твой поиск закончится.
А как насчет сделать таблицу search_entity в которую положить:
`id` int(11) NOT NULL AUTO_INCREMENT,
`sale_id` int(11) NOT NULL,
`text` text,
Причем  FULLTEXT KEY `text` (`text`)
И делать запись 1к1 в данное поле.
Причем text - это все поля через пробел, можно без знаков препинания, союзов и т.п.
Тогда поиск будет по отдельной таблице, можно сделать собственное ранжирование (например добавить ключ sort) и выделять нужные поля.