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_password
、your_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
を独自のインデックス名に置き換える必要があります。コード内の $query
はユーザーが入力した検索キーワードを取得し、$page
は現在のページのページ数を取得します。 Manticore.php
は、Manticore Search と対話するために使用される単純な PHP クラスです。 4. 検索結果ページのカスタマイズ
次は、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 およびマンティコア検索開発: 検索結果ページをカスタマイズするための重要なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。