クライアントが開発者を信頼しないのはなぜですか? 彼は絶対に正しい。
静的ページを動的に検索するには、ファイル システムを検索する必要がありますが、これは非常に低速です (ただし、キャッシュによって防ぐことができます)。
Google 検索バーは実際にはカスタマイズできません。それは「彼ができなかった」からではなく、Google によって制限されているからです。あなたは彼らの製品を使用していますか?あなたは彼らのブランドを手に入れます。それはそれと同じくらい簡単です。
PHP を使用すると、動的な Web サイトを作成できます。あなたはそれを使う必要があります。コンテンツをデータベースに保存すると、全文検索の利点が得られます。これは素晴らしいことです。
非常に単純な Web サイトがある場合は、静的コンテンツを含む XML (または好みの形式) を設定し、それを実際のページの URL にリンクすることを検討してください。たとえば、次のようになります。
XML ファイル
<?xml version="1.0"?>
<pages>
<page>
<url>http://google.com</url>
<title>Some title</title>
<content>
The quick brown fox jumps over the lazy dog
</content>
</page>
<page>
<url>http://yahoo.com</url>
<title>Ohai Catz</title>
<content>
The quick Cat kitten cat cat
</content>
</page>
</pages>
サンプル PHP
<?php
// String to search for
$searchString = 'Cat';
$xml = simplexml_load_file('staticpages.xml');
$pageMatches = [];
foreach( $xml->page AS $page )
{
// Check if the keyword exists in either the title or the content
if( stristr($page->content, $searchString) !== false || stristr($page->title, $searchString) !== false )
{
$pageMatches[] = $page;
}
}
?>
<?php echo $searchString ?> has been found on the following pages: <br>
<?php foreach( $pageMatches AS $match ): ?>
<a href="<?php echo $match->url ?>"><?php echo $match->url ?></a><br>
<?php endforeach ?>
出力
Cat has been found on the following pages:
http://yahoo.com
そのアプローチの利点:
- データベースなし
- 少し調整するだけで、サイトのコンテンツを XML から表示できるようになり、データの中心的なソースができました。
- タグやキーワードなどの追加情報を XML に追加して、検索をより正確にすることができます。
ここで、効率的な検索のためにこの方法をすぐに失格にする大きな欠点があります。
でシミュレートしましたstristr()
。使用可能な結果の検索が必要な場合は、多くの作業と労力を費やす必要があります。インターネットでいくつかのアルゴリズムに出くわすかもしれません。しかし、検索アルゴリズムはそれ自体が科学です。Google は何の理由もなく数十億ドル規模の企業ではありません。心に留めておきます