ホームページ  >  記事  >  バックエンド開発  >  PHP およびマンティコア検索開発: 検索結果ページをカスタマイズするための重要なヒント

PHP およびマンティコア検索開発: 検索結果ページをカスタマイズするための重要なヒント

WBOY
WBOYオリジナル
2023-08-05 13:07:421205ブラウズ

PHP およびマンティコア検索開発: 検索結果ページをカスタマイズするための重要なヒント

はじめに:
マンティコア検索は高性能で強力な全文検索エンジンであり、PHP は広く使用されているスクリプト言語です。これら 2 つのツールを組み合わせると、効率的な検索結果ページを簡単に構築できます。この記事では、検索結果ページをカスタマイズするのに役立ついくつかの重要なヒントを紹介します。

1. Manticore Search のインストール
まず、Manticore Search をインストールする必要があります。公式 Web サイト (https://www.manticoresearch.com/) からインストール パッケージをダウンロードし、指示に従ってインストールできます。インストールが完了したら、次のコマンドを使用して Manticore Search サービスを開始できます:

sudo systemctl start manticore

2. インデックス作成
開始する前に、効果的な検索を行うためにデータのインデックスを作成する必要があります。 Manticore Search は、MySQL、PostgreSQL、CSV ファイルなどのさまざまなデータ ソースをサポートしています。ここでは MySQL を例として取り上げます。

まず、MySQL データベースへの接続の詳細を指定する manticore.conf などの構成ファイルを作成する必要があります。次のコマンドを使用してインデックスを作成できます:

source manticore {
    type                    = mysql
    sql_host                = localhost
    sql_user                = your_username
    sql_pass                = your_password
    sql_db                  = your_database_name
}

your_username

your_passwordyour_database_name、および your_index_name を必ず変更してください。上記のコードの は独自の値です。 次に、次のコマンドを使用してインデックスを作成できます:

index your_index_name
{
    type                = plain
    source              = manticore
    path                = /var/lib/manticore/your_index_name
    min_infix_len       = 2
    docinfo             = extern
    mlock               = 0
    morphology          = stem_en
}

3. PHP 検索ページ

インデックスが確立されたら、PHP コードを記述して検索ページを実装できます。 。以下に例を示します。

indexer --config /path/to/manticore.conf --all

上記のコードでは、

your_index_name

を独自のインデックス名に置き換える必要があります。コード内の $query はユーザーが入力した検索キーワードを取得し、$page は現在のページのページ数を取得します。 Manticore.php は、Manticore Search と対話するために使用される単純な PHP クラスです。 4. 検索結果ページのカスタマイズ

検索結果ページでは、必要に応じて検索結果の表示方法をカスタマイズできます。たとえば、HTML および CSS スタイルを使用して検索結果の外観を向上させたり、他の機能を追加してユーザー エクスペリエンスを向上させることができます。


次は、HTML と CSS を使用して検索結果ページのスタイルを設定する方法を示す簡単な例です:

<?php
require_once('Manticore.php');

$index = 'your_index_name';
$host = 'localhost';
$port = 9306;

$query = isset($_GET['q']) ? $_GET['q'] : '';
$page = isset($_GET['page']) ? $_GET['page'] : 1;

$manticore = new Manticore($host, $port);

$results = $manticore->search($index, $query, $page, 10);

$hits = $results['total'];
$pages = ceil($hits / 10);

foreach ($results['matches'] as $match) {
    // 处理搜索结果
    echo $match['id'].": ".$match['weight']."<br>";
}

// 翻页功能
$startPage = max($page - 5, 1);
$endPage = min($page + 5, $pages);

echo "<div class='pagination'>";
if ($page > 1) {
    echo "<a href='?q=$query&page=".($page-1)."'>上一页</a>";
}
for ($i = $startPage; $i <= $endPage; $i++) {
    echo "<a href='?q=$query&page=$i'>$i</a>";
}
if ($page < $pages) {
    echo "<a href='?q=$query&page=".($page+1)."'>下一页</a>";
}
echo "</div>";

上記のコードでは、

.result

スタイルを定義します。検索結果の外観を設定するには、ページネータの外観を設定するために .pagination スタイルを定義します。 結論:

PHP と Manticore Search を使用すると、効率的な検索結果ページを簡単に構築できます。この記事では、Manticore Search のインストール、インデックスの構築、PHP 検索ページの作成、および検索結果ページのカスタマイズに関する主要なテクニックを紹介し、独自の検索結果ページの構築をすぐに開始できるように、対応するコード例を添付します。あなたの発展に幸あれ!

以上がPHP およびマンティコア検索開発: 検索結果ページをカスタマイズするための重要なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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