extend the search similarly to one of the two situations that give roughly the same result:
SELECT oc_t_item.pk_i_id
FROM (oc_t_item)
LEFT JOIN oc_t_item_description as d ON d.fk_i_item_id = oc_t_item.pk_i_id
WHERE MATCH(d.s_title, d.s_description) AGAINST('Milano' IN BOOLEAN MODE)
AND d.fk_c_locale_code LIKE 'it_IT'
AND oc_t_item.b_enabled = 1 AND oc_t_item.b_active = 1 AND oc_t_item.b_spam = 0 AND (oc_t_item.b_premium = 1 || oc_t_item.dt_expiration >= '2013-09-23 08:16:13')
UNION
(SELECT d.pk_i_id
FROM (oc_t_item as d, oc_t_item_meta as m)
LEFT JOIN oc_t_item_meta ON m.fk_i_item_id = d.pk_i_id
WHERE m.s_value LIKE '%Milano%');
OR
SELECT DISTINCT oc_t_item.pk_i_id
FROM (oc_t_item, oc_t_item_meta)
LEFT JOIN oc_t_item_description as d ON d.fk_i_item_id = oc_t_item.pk_i_id
WHERE MATCH(d.s_title, d.s_description) AGAINST('Milano' IN BOOLEAN MODE)
AND d.fk_c_locale_code LIKE 'it_IT'
AND oc_t_item.b_enabled = 1 AND oc_t_item.b_active = 1 AND oc_t_item.b_spam = 0 AND (oc_t_item.b_premium = 1 || oc_t_item.dt_expiration >= '2013-09-23 08:16:13')
AND oc_t_item_meta.fk_i_item_id = oc_t_item.pk_i_id AND 1 = 1 || oc_t_item_meta.s_value LIKE '%Milano%'
ORDER BY dt_pub_date desc
LIMIT 1000;
Unless I'm missing something, it seems that the class SEARCH does not provide this type of parameters.
Thanks for your attention.