ホームページ  >  記事  >  バックエンド開発  >  PHP およびマンティコア検索開発: 独自の検索結果表示を作成します。

PHP およびマンティコア検索開発: 独自の検索結果表示を作成します。

WBOY
WBOYオリジナル
2023-08-06 10:18:151582ブラウズ

PHP およびマンティコア検索開発: 独自の検索結果表示を作成する

概要:
現代のインターネット時代において、検索エンジンは間違いなくユーザーが情報を入手するための好ましいツールの 1 つとなっています。また、Web サイトやアプリの開発者にとっては、検索結果を効率的、正確、かつ独自に表示することが重要です。この記事では、PHP と Manticore Search を使用して検索結果の表示を開発および最適化する方法を紹介します。

Manticore Search 概要:
Manticore Search は、オープン ソースの検索エンジン Sphinx に基づいて開発された全文検索サービスです。高いパフォーマンス、拡張性、包括的な検索機能を提供します。 PHP を使用して Manticore Search サービスに接続してクエリを実行すると非常に便利で、検索キーワードに基づいて正確な結果データを取得できます。

  1. Manticore Search のインストールと構成:
    まず、Manticore Search をインストールして構成する必要があります。 Manticore Search は公式 Web サイト (https://manticoresearch.com/) からダウンロードしてインストールできます。インストールが正常に完了したら、インデックス定義、検索サービス構成などの基本構成を実行する必要があります。特定の構成の詳細については、Manticore Search の公式ドキュメントを参照してください。
  2. Manticore Search サービスへの接続:
    PHP では、Manticore Search が提供する公式拡張機能「manticore」を使用するか、サードパーティの拡張機能「sphinxapi」を使用して、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'];
    // ...
}

}

  1. 検索結果に基づいて表示:
    取得後 結果を検索した後、それに応じて結果を表示する必要があります。検索結果を独自の方法で表示するサンプル コードを次に示します。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。