Maison > Article > développement back-end > Comment créer une fonction de recherche multicritère à l'aide d'Elasticsearch et PHP
Comment utiliser Elasticsearch et PHP pour créer des fonctions de recherche multi-conditions
Introduction :
Elasticsearch est un moteur de recherche et d'analyse distribué open source qui est souvent utilisé pour créer de puissantes fonctions de recherche. Il permet des recherches rapides et précises et prend en charge différents types de requêtes. Cet article explique comment utiliser Elasticsearch et PHP pour créer des fonctions de recherche multi-conditions et fournit des exemples de code correspondants.
{ "require": { "elasticsearch/elasticsearch": "^7.0" } }
Exécutez ensuite la commande composer install
pour installer l'extension PHP Elasticsearch.
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $hosts = [ 'http://localhost:9200' // Elasticsearch的访问地址 ]; $client = ClientBuilder::create()->setHosts($hosts)->build(); ?>
Tout d'abord, définissez une configuration et un mappage d'index. Par exemple, nous créons un index appelé « articles » et définissons le type « articles » et spécifions les types des champs « titre » et « contenu » :
<?php $params = [ 'index' => 'articles', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'] ] ] ] ]; $response = $client->indices()->create($params); ?>
Ensuite, ajoutons des documents à l'index. Par exemple, ajoutons un document intitulé "Actualités" :
<?php $params = [ 'index' => 'articles', 'body' => [ 'title' => '新闻', 'content' => '这是一条新闻' ] ]; $response = $client->index($params); ?>
<?php $params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => '新闻']], ['match' => ['content' => '国际']] ] ] ] ] ]; $response = $client->search($params); ?>
Enfin, parcourez les résultats de la recherche et imprimez le titre et le contenu de chaque document :
<?php foreach ($response['hits']['hits'] as $hit) { echo '标题:' . $hit['_source']['title'] . '<br>'; echo '内容:' . $hit['_source']['content'] . '<br>'; echo '----------------<br>'; } ?>
Conclusion :
Avec les étapes ci-dessus, nous pouvons créer une fonctionnalité de recherche multicritère en utilisant Elasticsearch et PHP. Tout d'abord, installez et configurez Elasticsearch et l'extension PHP correspondante ; puis connectez-vous à Elasticsearch et créez un index. Enfin, effectuez une recherche multi-conditions et traitez les résultats de la recherche.
Remarque : Afin de garantir l'exactitude et les performances de la recherche, il est recommandé d'optimiser l'index avant d'utiliser la recherche multi-conditions, comme la configuration d'un segmenteur de mots approprié, la création d'un index, etc.
Matériaux de référence :
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!