Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Práticas recomendadas para exibir resultados de pesquisa com snippets de texto associados do resultado real


Pesquisar o banco de dados real é bom até que você queira adicionar recursos sofisticados como o acima. Na minha experiência, é melhor criar uma tabela de pesquisa dedicada, com palavras-chave e IDs de página/URLs/etc. Em seguida, preencha esta tabela a cada n horas com conteúdo. Durante esse preenchimento, você pode adicionar trechos de cada documento para cada palavra-chave.

Alternativamente, um hack rápido pode ser:
<?php
$text = 'This is an example text page with content. It could be red, green or blue.';
$keyword = 'red';
$size = 5; // size of snippet either side of keyword

$snippet = '...'.substr($text, strpos($text, $keyword) - $size, strpos($text, $keyword) + sizeof($keyword) + $size).'...';
$snippet = str_replace($keyword, '<strong>'.$keyword.'</strong>', $snippet);
echo $snippet;
?>