显示搜索结果的最佳做法,其中包含来自实际结果的相关文本片段

phi*_*bar 4 php mysql search

我有一个像样的,轻量级的搜索引擎,我的一个网站使用MySQL全文索引和PHP来解析结果.工作正常,但我想提供更多'谷歌般的'结果与结果中的文本片段和突出显示的找到的单词.寻找基于php的解决方案.有什么建议?

Al.*_*Al. 5

搜索实际的数据库是好的,直到你想要添加如上所述的时髦功能.根据我的经验,最好创建一个专用的搜索表,包括关键字和页面ID/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;
?>
Run Code Online (Sandbox Code Playgroud)