Mencari database yang sebenarnya baik-baik saja sampai Anda ingin menambahkan fitur manis seperti di atas. Dalam pengalaman saya, yang terbaik adalah membuat tabel pencarian khusus, dengan kata kunci dan ID halaman/URL/dll. Kemudian isi tabel ini setiap n jam dengan konten. Selama populasi ini, Anda dapat menambahkan cuplikan untuk setiap dokumen untuk setiap kata kunci.
Atau, peretasan cepat mungkin:
<?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;
?>