Eu tenho um banco de dados com muito texto e quero encontrar o texto ao redor de uma palavra que estou procurando, ou seja, se eu pesquisar "texto" neste texto, devo obter algo como (e mais consistente do que):
- .. muito texto e ..
- .. o texto ao redor para ..
- .. este texto para "texto"..
- .. para "texto" eu deveria ..
Posso escrever isso em um programa, mas gostaria de saber se existe um bom truque de SQL para obter algo que se aproxime disso com apenas uma consulta para um relatório rápido e sujo.
o que você precisa é da função ts_headline. ele faz exatamente o que você precisa, parece. aqui está a documentação: http://www.postgresql.org/docs/9.4/static/textsearch-controls.html