PHP およびマンティコア検索開発: 独自の検索結果表示を作成する
概要:
現代のインターネット時代において、検索エンジンは間違いなくユーザーが情報を入手するための好ましいツールの 1 つとなっています。また、Web サイトやアプリの開発者にとっては、検索結果を効率的、正確、かつ独自に表示することが重要です。この記事では、PHP と Manticore Search を使用して検索結果の表示を開発および最適化する方法を紹介します。
Manticore Search 概要:
Manticore Search は、オープン ソースの検索エンジン Sphinx に基づいて開発された全文検索サービスです。高いパフォーマンス、拡張性、包括的な検索機能を提供します。 PHP を使用して Manticore Search サービスに接続してクエリを実行すると非常に便利で、検索キーワードに基づいて正確な結果データを取得できます。
公式拡張機能「manticore」を使用するサンプルコードは以下のとおりです。
// Manticore Searchサービスに接続します
$conn = new ManticoreSe();
$conn->connect('localhost', 9306);
// キーワード検索
$keyword = 'PHP';
$res = $conn->query($キーワード, 'my_index' );
if ($res && $res->getTotal() > 0) {
// 遍历搜索结果 foreach ($res->getMatches() as $match) { // 处理搜索结果数据 $id = $match['id']; $title = $match['attrs']['title']; $content = $match['attrs']['content']; // ... }
}
a) 検索キーワードを強調表示する:
検索結果でキーワードを強調表示すると、ユーザーは関連情報をより簡単に見つけることができます。 PHP の組み込み関数と HTML タグを使用して、キーワードの強調表示を実現できます。
$highlightedTitle = preg_replace('/('.$keyword.')/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $title);
$highlightedContent = preg_replace(' /('.$keyword.')/i', '$1128dba7a3a77be0113eb0bea6ea0a5d0', $content);
echo "684271ed9684bde649abda8831d4d355".$highlightedTitle."9340feb30de26aa770b0867b66da969c";
echo "e388a4556c0f65e1904146cc1a846bee".$highlightedContent."94b3e26ee717c64999d7867364b1b4a3";
b) 並べ替えと重み表示:
マンティコア検索では、次の設定を行うことができます。検索結果のランキングと重み付け。これらのランキングと重みを使用して、よりターゲットを絞ったカスタマイズ可能な検索結果を表示できます。
$res->setSortMode(SPH_SORT_ATTR_DESC, 'weight');
$res->setFieldWeights(array('title'=>10, 'content'=>5));
foreach ($res->getMatches() as $match) {
$id = $match['id']; $title = $match['attrs']['title']; $content = $match['attrs']['content']; $weight = $match['weight']; echo "<h3>".$title."</h3>"; echo "<p>".$content."</p>"; echo "<p>权重: ".$weight."</p>";
}
結論:
PHP と Manticore Search を使用すると、次のことが簡単にできます。検索結果の表示を開発および最適化します。キーワードを強調表示し、ランキングし、重み付けすることで、ユニークでユーザーフレンドリーな検索結果ページを作成し、ユーザーエクスペリエンスを向上させ、より正確な情報検索サービスを提供できます。実際のアプリケーションでは、さまざまなシナリオのニーズを満たすために、ニーズに応じて検索結果の表示をさらにカスタマイズできます。
以上がPHP およびマンティコア検索開発: 独自の検索結果表示を作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。