ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルを使用してカスタム検索エンジンを構築する
Google とその一連の製品はほぼ全能ですが、Web 形式の強力な検索エンジンがすべてのサイトでうまく機能するわけではありません。サイトのコンテンツが高度に専門化されている場合、または明確に分類されている場合は、Sphinx と PHP を使用して最適化されたローカル検索システムを作成するとよいでしょう。
インターネット時代には、人々は情報がファストフードのようにパッケージ化されていること、つまり早くてアクセスしやすく、非常に小さな単位(あるいはバイト単位でしょうか?)に分割されていることを期待します。実際、せっかちで情報に飢えたユーザーのニーズを満たすために、最も一般的な Web サイトでも、素早い閲覧スタイルを備えたさまざまなメニューが必要になっています。
・RSSは焼きたてのピザをご自宅までお届けするピザ宅配業者です。
・ウェブログは、お気に入りの味の料理を提供する地元の中華レストランです。
・フォーラムは今日の流行です(あるいは、おそらくより適切には、「アニマルハウス」の食べ物をつかむシーン)。
・検索は地元のレストランでビュッフェを食べるようなものです。食道と椅子が耐えられる限り、好きなものを皿に詰め続けるだけです。
幸いなことに、PHP 開発者は、サイトを作成または改善するためのさまざまな RSS、ブログ、フォーラム ソフトウェアを見つけることができます。また、Google やその他の検索サイトはほぼ全能でトラフィックのフィルタリングを実行しますが、検索エンジンは必ずしも個々のサイトにうまく適応するとは限りません。
たとえば、あなたのウェブサイトが何百もの新品および再生済みのポルシェ車の部品を提供している場合、Google は「カレラ パーツ」のような広範な検索であなたのサイトを見つけるかもしれませんが、「中古 1991 ポルシェ 911 タルガ ヘッドライト ベゼル」のようなより具体的な検索では、正確な結果が得られない可能性があります。
サイトのコンテンツが高度に専門化されている場合、または訪問者が検索機能が現実のワークフローと同様であることを期待している場合は、Web のグローバル検索エンジンに基づいてサイトに合わせたローカル検索システムを追加するのが最善です。 (プロフェッショナル検索について)その他の例については、「10 億の干し草の山の中の 1 本の針」を参照してください。
高速で効率的な、オープンソースの無料検索エンジンを PHP サイトに追加する方法を学びます。この記事は、目に見える Web サイトを作成したものではありません。代わりに、効果的な検索結果を提供するために必要なコンポーネント、つまりデータベース、インデックス、検索エンジン、PHP アプリケーション プログラミング インターフェイス (API) に焦点を当てます。
大スフィンクスを訪問
サイトにカスタム検索機能を提供するには、データ ソースとそのデータ ソースを検索する機能が必要です。 Web アプリケーションの場合、データ ソースは通常、いくつかの検索機能が組み込まれたリレーショナル データベースです (Equality は、SQL 演算子の LIKE のような単純な検索演算子です)。ただし、一部の検索はデータベースが実行できるよりも具体的である場合や、検索が複雑すぎるため、SQL JOIN 固有の応答性の低下が発生する場合があります。
干し草の山で針を探しています
多くのサイトでは、医学、法律、音楽、自動車修理など、特定の業界、職業、エンターテイメントに特化したコンテンツを提供しています。これらをさらに深く掘り下げるには、特別なツールやトレーニングが必要になる場合があります。また、単にインデックスを使用して関連性のある実践的な結果を得る必要がある場合もあります。
カスタマイズされた検索システムを必要とする一般的な検索シナリオを以下に示します。
・ジョー・ホッケーがスタンレーカップに関して書いたすべての記事を検索します。·HP LaserJet 3015 オールインワン プリンターの最新ドライバーを見つけます。
・デイビッドの深夜のトークショーでダイナソージュニアのテレビクリップを見つけてください。
検索を高速化するには、テーブルを再配置し、それによって基礎となるクエリを簡素化できます (テーブルと SQL クエリの最適化は、スキーマとエンジンに大きく依存します。オンラインで検索すると、データベースのパフォーマンスに関するさまざまな記事や書籍が見つかります)。さらに、特殊な検索エンジンを追加することもできます。どの形式の検索エンジンを使用するかは、データの形式 (および量) と予算によっても異なります。利用可能なオプションは数多くあります。Google ツールをネットワークに接続したり、Endeca または他の大規模な商用検索製品を購入したり、Lucene を試したりすることができます。しかし、多くの場合、商用製品の使用はやり過ぎ、または運用予算の無駄であり、Lucene が作成された 2007 年 7 月時点では、Lucene は PHP API を提供していませんでした。
代替案として、テキストを非常に迅速に検索できるオープンソースの無料検索エンジンである Sphinx を検討してください。たとえば、約 300,000 行と 5 つのインデックス列を持つデータベースの場合