0
私はキーワードの検索コードを$ pages配列変数の中の指定されたページから検索しましたが、これは私が望むように動作していますが、$ pages配列に複数のページがあるので読み込むのに時間がかかります。どのようにこの速度を高めるには?私にお知らせください。ウェブサイト全体からキーワードを検索しながらコンテンツを読み込む速度を上げるにはどうすればよいですか?
<?php
$match="";
if(isset($_POST['submit'])){
if(isset($_POST['txt_search'])){
$match=trim($_POST['txt_search']);
}
if($match==""){
print "Please enter search text";exit;
}
}
<html>
<body>
<form action="" method="post">
<input type="text" name="txt_search" placeholder="Search term"/>
<input type="submit" value="Search" name="submit" onClick=""/>
</form>
<p id="text">
<?php if($match!=""){
mastersearch($match);
}?>
</p>
</body>
</html>
<?php
function mastersearch($match) {
$pages=array("index.php","about.php","contact.php","books.php","careers.php","shopping.php","travels.php","lifestyle.php","movies.php","museum.php");
foreach ($pages as $value) {
$text=$value;
$path="http://sitename.com/user/";
$value = $path.$value;
$json = file_get_contents($value);
$lastPos=0;
$last=strripos($json, $match);
while (($lastPos = stripos($json, $match, $lastPos))!== false) {
$positions[] = $lastPos;
preg_match("/<title>(.*)<\/title>/i", $json, $title);
print $title[1];
print "<br><a href='$value'>$text</a><br/>";
$lastPos = $lastPos + strlen($match);
}
}
}
?>
SOLRのような検索サービスは通常、見つかったすべてのキーワードの最新のインデックスを保持します各ページにコードをスピードアップするには、そのようなサービスを使用して、1時間ごとに、またはコンテンツが作成/更新されるたびに実行されるスケジュールされたタスクを介して更新することができます。 – apokryfos