Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Best Practices zum Anzeigen von Suchergebnissen mit zugehörigen Textausschnitten aus dem tatsächlichen Ergebnis

Das Durchsuchen der eigentlichen Datenbank ist in Ordnung, bis Sie schicke Funktionen wie die oben genannte hinzufügen möchten. Meiner Erfahrung nach ist es am besten, eine dedizierte Suchtabelle mit Schlüsselwörtern und Seiten-IDs/URLs/usw. zu erstellen. Dann füllen Sie diese Tabelle alle n Stunden mit Inhalt. Während dieser Auffüllung können Sie Snippets für jedes Dokument für jedes Schlüsselwort hinzufügen.

Alternativ könnte ein schneller Hack sein:

<?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;
?>