Heim  >  Artikel  >  Backend-Entwicklung  >  PHP- und Manticore-Suchentwicklung: Tipps zur Verbesserung des Rankings der Suchergebnisse

PHP- und Manticore-Suchentwicklung: Tipps zur Verbesserung des Rankings der Suchergebnisse

WBOY
WBOYOriginal
2023-08-06 18:04:43978Durchsuche

PHP- und Manticore-Suchentwicklung: Tipps zur Verbesserung des Suchergebnis-Rankings

Suchmaschinen sind ein integraler Bestandteil moderner Internetanwendungen. Das Ranking der Suchergebnisse wirkt sich direkt auf das Benutzererlebnis und die Suchgenauigkeit aus. In diesem Artikel geben wir Tipps, wie Sie das Ranking der Suchergebnisse während der Entwicklung mit PHP und Manticore Search verbessern können.

  1. Manticore Search installieren

Zuerst müssen wir Manticore Search installieren. Es kann unter Ubuntu mit dem folgenden Befehl installiert werden:

sudo apt-get install manticoresearch

Nach Abschluss der Installation starten Sie den Manticore Search-Dienst:

sudo service manticoresearch start
  1. Datenvorbereitung

Zuerst müssen wir die Daten in Manticore Search importieren. Hier verwenden wir ein einfaches Beispiel und gehen davon aus, dass wir eine E-Commerce-Website haben, die produktbezogene Informationen wie Produktname, Beschreibung, Preis usw. enthält.

Zur Vereinfachung der Demonstration erstellen wir einen Index mit dem Namen „Produkte“ und fügen einige Beispieldaten hinzu:

<?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!';
  1. Implementieren der einfachen Suche

Als nächstes implementieren wir eine einfache Suchfunktion. Benutzer können Produktnamen und -beschreibungen nach Schlüsselwörtern durchsuchen und zugehörige Produktlisten zurückgeben. Hierzu können wir die Volltextsuche von Manticore Search nutzen.

<?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;  
}
  1. Sortierung der Suchergebnisse verbessern

Um die Sortierung der Suchergebnisse zu verbessern, können wir die Sortierfunktion von Manticore Search nutzen. Wir können die Suchergebnisse nach verschiedenen Feldern wie Preis, Verkaufsvolumen usw. sortieren.

Hier ist ein Beispiel für die Sortierung von Suchergebnissen nach Produktpreis:

<?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;  
}

In diesem Beispiel sortieren wir den Preis in absteigender Reihenfolge nach ORDER BY price DESC. ORDER BY price DESC对价格进行降序排序。

除了价格,我们还可以根据其他字段进行排序,比如销量、评分等。只需相应地修改ORDER BY

Neben dem Preis können wir auch nach anderen Feldern sortieren, wie z. B. Verkaufsvolumen, Bewertungen usw. Ändern Sie einfach die ORDER BY-Klausel entsprechend.

Zusammenfassung

Dieser Artikel stellt vor, wie man PHP und Manticore Search zur Entwicklung von Suchfunktionen verwendet, und gibt einige Tipps zur Verbesserung des Rankings der Suchergebnisse. Mithilfe dieser Techniken können wir eine gezielte Sortierung der Suchergebnisse nach unterschiedlichen Bedürfnissen und Szenarien durchführen und so das Benutzererlebnis und die Suchgenauigkeit verbessern.

Ich hoffe, dieser Artikel kann Ihnen helfen, die Probleme zu lösen, die bei der Optimierung der Sortierung von Suchergebnissen in der PHP-Entwicklung auftreten. Viel Glück bei Ihren Entwicklungsbemühungen! 🎜

Das obige ist der detaillierte Inhalt vonPHP- und Manticore-Suchentwicklung: Tipps zur Verbesserung des Rankings der Suchergebnisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn