Maison >développement back-end >tutoriel php >Utiliser PHP et Manticore Search pour développer un moteur de recherche avec synchronisation des données en temps réel

Utiliser PHP et Manticore Search pour développer un moteur de recherche avec synchronisation des données en temps réel

WBOY
WBOYoriginal
2023-08-07 08:48:22829parcourir

Utilisez PHP et Manticore Search pour développer un moteur de recherche avec synchronisation des données en temps réel

Les moteurs de recherche jouent un rôle important à l'ère de l'information d'aujourd'hui. Avec le développement rapide d'Internet, la demande des utilisateurs pour les moteurs de recherche est également de plus en plus élevée. Les moteurs de recherche traditionnels mettent généralement un certain temps à synchroniser les dernières données, ce qui est insuffisant dans certains scénarios nécessitant des données en temps réel. Afin de résoudre ce problème, cet article présentera comment utiliser PHP et Manticore Search pour développer un moteur de recherche avec synchronisation des données en temps réel.

Tout d’abord, comprenons ce qu’est Manticore Search. Manticore Search est un moteur de recherche de texte open source hautes performances qui offre des capacités de recherche en texte intégral efficaces et d'indexation en temps réel. Il prend en charge les requêtes SQL et la syntaxe de requête JSON similaire à Elasticsearch et convient à divers scénarios d'application, des petits sites Web aux grandes plates-formes de données. Manticore Search se caractérise par une vitesse rapide, une prise en charge de l'indexation en temps réel et un déploiement distribué, ce qui en fait un choix idéal pour développer des moteurs de recherche avec synchronisation des données en temps réel.

Tout d’abord, nous devons nous assurer que les dernières versions de PHP et de Manticore Search sont installées. Vous pouvez vérifier la version en entrant la commande suivante dans le terminal ou l'invite de commande :

php -v
searchd --help | grep Manticore

Si le numéro de version affiché est le plus récent, nous pouvons alors passer à l'étape suivante.

Ensuite, nous devons introduire la bibliothèque client Manticore Search dans le projet PHP. Ceci peut être réalisé en enregistrant le code suivant en tant que fichier manticore.php et en l'introduisant dans le projet : manticore.php文件,并在项目中引入该文件来实现:

<?php
require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchIndex;

$host = 'localhost';
$port = 9308;

$client = new Client(['host' => $host, 'port' => $port]);

$index = new Index($client);
$index->setIndex('example_index');

// 在这里进行索引的创建、删除、更新等操作

现在,我们创建一个名为example_index

$index->create(['columns' => [
  ['name' => 'title', 'type' => 'text', 'options' => ['indexed' => true, 'stored' => true]],
  ['name' => 'content', 'type' => 'text', 'options' => ['indexed' => true, 'stored' => true]],
]]);

Maintenant, nous créons un index appelé example_index, et pouvons effectuer quelques opérations dans cet index. Voici quelques exemples courants d'opérations :
  • Créer un index :
  • $index->drop();
  • Supprimer un index :
  • $index->bulk('insert', [
      ['index' => ['_id' => 1, 'title' => '文章标题1', 'content' => '文章内容1']],
      ['index' => ['_id' => 2, 'title' => '文章标题2', 'content' => '文章内容2']],
    ]);
  • Insérer des données :
  • $index->bulk('update', [
      ['update' => ['_id' => 1, 'doc' => ['title' => '新的标题1']]],
      ['update' => ['_id' => 2, 'doc' => ['title' => '新的标题2']]],
    ]);
  • Mettre à jour les données :
  • $index->bulk('delete', [
      ['delete' => ['_id' => 1]],
      ['delete' => ['_id' => 2]],
    ]);
  • Supprimer les données :
  • $query = [
      'index' => 'example_index',
      'body' => [
          'query' => [
              'match' => [
                  'title' => '关键词',
              ],
          ],
      ],
    ];
    
    $result = $client->search($query);
    
    foreach ($result['hits']['hits'] as $hit) {
      echo $hit['_source']['title'] . ': ' . $hit['_source']['content'] . "
    ";
    }
  • Requête de données :
  • rrreee

L'exemple de code ci-dessus montre comment créer un index, insérer, mettre à jour, supprimer des données et effectuer des requêtes. Veuillez ajuster en fonction des besoins réels.

Grâce à ces exemples de codes simples, nous pouvons voir comment utiliser PHP et Manticore Search pour développer un moteur de recherche avec synchronisation des données en temps réel. Cette méthode peut réaliser la fonction de synchronisation des données avec le moteur de recherche immédiatement après leur mise à jour en temps réel pour répondre au scénario de demande de données en temps réel. J'espère que cet article vous sera utile ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn