Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepsze praktyki dotyczące wyświetlania wyników wyszukiwania z powiązanymi fragmentami tekstu z rzeczywistych wyników

Przeszukiwanie rzeczywistej bazy danych jest w porządku, dopóki nie chcesz dodać odlotowych funkcji, takich jak ta powyżej. Z mojego doświadczenia wynika, że ​​najlepiej jest stworzyć dedykowaną tabelę wyszukiwania ze słowami kluczowymi i identyfikatorami stron/adresami URL/itd. Następnie wypełniaj tę tabelę co n godzin z treścią. Podczas tej populacji możesz dodać fragmenty dla każdego dokumentu dla każdego słowa kluczowego.

Alternatywnie szybkim hackiem może być:

<?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. Dlaczego łącznik mysql pęka (utracono połączenie z serwerem MySQL podczas błędu zapytania)

  2. MySQL:@zmienna a zmienna. Co za różnica?

  3. Jak WSTAWIĆ rekord lub UAKTUALNIĆ, jeśli już istnieje?

  4. Jak połączyć całe zestawy wyników w MySQL?

  5. Zapisane procedury nie działają w świecie php/mysql?