Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добри практики за показване на резултати от търсенето със свързани текстови фрагменти от действителния резултат

Търсенето в действителната база данни е добре, докато не искате да добавите страхотни функции като горната. Според моя опит е най-добре да създадете специална таблица за търсене с ключови думи и идентификатори на страници/URL адреси/и т.н. След това попълвайте тази таблица на всеки n часа със съдържание. По време на тази популация можете да добавяте фрагменти за всеки документ за всяка ключова дума.

Като алтернатива бърз хак може да бъде:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql, как мога да експортирам индекси от моята база данни за разработка в моята производствена база данни?

  2. Как да показвате Unicode данни с PHP

  3. Изтриване на всички редове, по-стари от 5 дни

  4. MySQL база данни с уникални полета игнорирани крайни интервали

  5. Вземете текущата стойност AUTO_INCREMENT за всяка таблица