Hola que tal bueno ami se me ocurre algo asi:
    
Código PostgreSQL:
Ver originalselect count(distinct(n.id_noti)) 
from noticias n 
inner join tipo s on (s.id_noti = n.id_noti )
WHERE s.id_tipo in (1,3) and CAST( n.fecha AS DATE ) BETWEEN '2011-01-03' and '2012-01-26' and 
      ( TO_ASCII(n.titulo, 'LATIN1') ilike TO_ASCII('palabra%', 'LATIN1') or n.resumen ilike 'palabra%' or n.completa ilike 'palabra%')
  
Cuanto te da tu consulta y cuanto de da con esta? 
 
No soy bueno para esto, pero espero te sirva