Maison  >  Article  >  développement back-end  >  Comment effectuer une recherche en texte intégral à l'aide d'Elasticsearch en PHP

Comment effectuer une recherche en texte intégral à l'aide d'Elasticsearch en PHP

WBOY
WBOYoriginal
2023-07-07 22:31:39655parcourir

Comment utiliser Elasticsearch en PHP pour la recherche en texte intégral

Elasticsearch est un moteur de recherche open source hautes performances et un système de stockage de données distribué capable de gérer des requêtes et des analyses de données à grande échelle et à grande vitesse. L'utilisation d'Elasticsearch en PHP pour la recherche en texte intégral peut nous aider à traiter les demandes de recherche plus efficacement. Cet article explique comment utiliser Elasticsearch en PHP pour la recherche en texte intégral et donne des exemples de code correspondants.

  1. Installer et configurer Elasticsearch

Tout d'abord, nous devons installer Elasticsearch et effectuer les configurations associées. Pour les méthodes d'installation spécifiques, veuillez vous référer à la documentation officielle d'Elasticsearch. Une fois l'installation terminée, nous devons démarrer le service Elasticsearch.

  1. Installez l'extension PHP pour Elasticsearch

Afin de faire fonctionner Elasticsearch dans le code PHP, nous devons installer l'extension PHP pour Elasticsearch. Vous pouvez installer l'extension PHP d'Elasticsearch via Composer. La commande est la suivante :

composer require elasticsearch/elasticsearch

Une fois l'installation terminée, nous devons introduire l'extension PHP d'Elasticsearch dans le code PHP :

require 'vendor/autoload.php';
  1. Connectez-vous au serveur Elasticsearch

Utilisez l'extension PHP d'Elasticsearch pour fonctionner Avant, nous devons nous connecter au serveur Elasticsearch. L'exemple de code est le suivant :

$client = ElasticsearchClientBuilder::create()->build();
  1. Créer un index

Avant d'utiliser Elasticsearch pour la recherche en texte intégral, nous devons d'abord créer l'index. L'index est l'endroit qu'Elasticsearch utilise pour stocker et indexer les documents. Voici un exemple de code pour créer un index :

$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 2,
            'number_of_replicas' => 0,
        ]
    ]
];

$response = $client->indices()->create($params);
  1. Ajouter des documents

Après avoir créé l'index, nous pouvons ajouter des documents à l'index. Les documents sont les données dont nous avons besoin pour effectuer une recherche en texte intégral. L'exemple de code est le suivant :

$params = [
    'index' => 'my_index',
    'body' => [
        'title' => 'Elasticsearch入门',
        'content' => 'Elasticsearch是一款高性能的搜索引擎',
    ]
];

$response = $client->index($params);
  1. Effectuer une recherche en texte intégral

Après avoir ajouté les documents dans l'index, nous pouvons utiliser Elasticsearch pour effectuer une recherche en texte intégral. L'exemple de code est le suivant :

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'content' => '搜索引擎',
            ],
        ],
    ],
];

$response = $client->search($params);

Le code ci-dessus renverra les documents contenant le mot-clé « moteur de recherche ».

Grâce aux étapes ci-dessus, nous pouvons utiliser Elasticsearch en PHP pour effectuer une recherche en texte intégral. Cela améliore considérablement l’efficacité et la précision avec lesquelles nous traitons les demandes de recherche. J'espère que cet article vous aidera !

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