PHP およびマンティコア検索開発: 検索結果の並べ替えを改善するためのヒント
検索エンジンは、最新のインターネット アプリケーションに不可欠な部分です。検索結果のランキングは、ユーザー エクスペリエンスと検索の精度に直接影響します。この記事では、PHP とマンティコア検索を使用して開発中に検索結果のランキングを向上させる方法についてのヒントを取り上げます。
まず、Manticore Search をインストールする必要があります。次のコマンドを使用して Ubuntu にインストールできます:
sudo apt-get install manticoresearch
インストールが完了したら、Manticore Search サービスを開始します:
sudo service manticoresearch start
<?php // 连接Manticore Search服务 $dsn = 'mysql:host=127.0.0.1;port=9306'; $username = ''; $password = ''; $pdo = new PDO($dsn, $username, $password); // 创建索引 $sql = "CREATE TABLE products ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, description TEXT, price FLOAT(10,2) NOT NULL ) ENGINE = Manticore;"; $pdo->exec($sql); // 添加示例数据 $productData = [ ['name' => 'iPhone 12', 'description' => 'The latest iPhone model', 'price' => 999.99], ['name' => 'Samsung Galaxy S21', 'description' => 'Powerful Android phone', 'price' => 799.99], ['name' => 'Google Pixel 5', 'description' => 'Flagship Google phone', 'price' => 699.99], ]; foreach ($productData as $product) { $sql = "INSERT INTO products (name, description, price) VALUES (?, ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$product['name'], $product['description'], $product['price']]); } echo 'Data imported successfully!';
<?php // 连接Manticore Search服务 $dsn = 'mysql:host=127.0.0.1;port=9306'; $username = ''; $password = ''; $pdo = new PDO($dsn, $username, $password); // 执行搜索 $keyword = 'iPhone'; $sql = "SELECT * FROM products WHERE MATCH (:keyword)"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':keyword', $keyword); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // 显示搜索结果 foreach ($results as $result) { echo 'Product Name: ' . $result['name'] . PHP_EOL; echo 'Description: ' . $result['description'] . PHP_EOL; echo 'Price: ' . $result['price'] . PHP_EOL; echo '------------------------' . PHP_EOL; }
<?php // 连接Manticore Search服务 $dsn = 'mysql:host=127.0.0.1;port=9306'; $username = ''; $password = ''; $pdo = new PDO($dsn, $username, $password); // 执行搜索 $keyword = 'iPhone'; $sql = "SELECT * FROM products WHERE MATCH (:keyword) ORDER BY price DESC"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':keyword', $keyword); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // 显示搜索结果 foreach ($results as $result) { echo 'Product Name: ' . $result['name'] . PHP_EOL; echo 'Description: ' . $result['description'] . PHP_EOL; echo 'Price: ' . $result['price'] . PHP_EOL; echo '------------------------' . PHP_EOL; }
ORDER BY 価格 DESC によって価格を降順に並べ替えています。
ORDER BY 句を変更するだけです。
以上がPHP とマンティコア検索開発: 検索結果のランキングを向上させるためのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。