Recherches PHP basées sur ElasticSearch
ElasticSearch est un serveur de recherche basé sur Lucene. Il fournit un moteur de recherche en texte intégral distribué multi-utilisateurs basé sur une interface Web RESTful. Développé en Java et publié en open source selon les termes de la licence Apache, Elasticsearch est un moteur de recherche populaire au niveau des entreprises. Conçu pour être utilisé dans le cloud computing, il permet d'effectuer une recherche en temps réel, est stable, fiable, rapide et facile à installer et à utiliser.
Recommandation de cours → : "Elasticsearch Full Text Search Practice" (Vidéo pratique)
Extrait du cours "Solution concurrente pour des dizaines de millions de données (théorique + pratique)"
Recherche PHP basée sur ElasticSearch
Le faire Lors de la recherche, j'ai pensé à ElasticSearch , et il prend également en charge PHP, alors j'ai fait un exemple simple pour tester Ça faisait du bien, alors j'ai fait un enregistrement.
Environnement
php 7.2
elasticsearch 6.2 Télécharger
elasticsearch-php 6 Télécharger
Installez elasticsearch
Téléchargez le fichier source, décompressez-le, créez un nouvel utilisateur et remplacez le groupe du répertoire par cet utilisateur, car elasticsearch ne peut pas être démarré avec l'utilisateur root.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz tar zxvf elasticsearch-6.2.3.tar.gz useradd elasticsearch password elasticsearch chown elasticsearch:elasticsearch elasticsearch-6.2.3 cd elasticsearch-6.2.3 ./bin/elasticsearch // 启动
Installer l'extension PHP
J'utilise composer Installer elasticsearch-php. Ajoutez "elasticsearch/elasticsearch": "~6.0" au fichier composer.json et exécutez la composer update.
{ "require": { // ... "elasticsearch/elasticsearch": "~6.0" // ... } }
Exemple de test
Créer un tableau et tester des données
J'ai préparé un tableau d'articles pour les tests. Le premier est. pour créer un tableau, puis écrivez les données de test. Une fois la préparation terminée, commencez à éditer les cas de test.
create table articles( id int not null primary key auto_increment, title varchar(200) not null comment '标题', content text comment '内容' ); insert into articles(title, content) values ('Laravel 测试1', 'Laravel 测试文章内容1'), ('Laravel 测试2', 'Laravel 测试文章内容2'), ('Laravel 测试3', 'Laravel 测试文章内容3');
Lire les données de Mysql
try { $db = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', 'root'); $sql = 'select * from articles'; $query = $db->prepare($sql); $query->execute(); $lists = $query->fetchAll(); print_r($lists); } catch (Exception $e) { echo $e->getMessage(); }
Instanciation
require './vendor/autoload.php'; use Elasticsearch\ClientBuilder; $client = ClientBuilder::create()->build();
Explication du nom : L'index est équivalent àMySQL Les tables et les documents dans sont équivalents aux enregistrements de ligne dans MySQL La nature dynamique de
elasticsearch crée automatiquement un index lorsque le premier document est ajouté. . et quelques paramètres par défaut.
Ajouter un document à l'index
foreach ($lists as $row) { $params = [ 'body' => [ 'id' => $row['id'], 'title' => $row['title'], 'content' => $row['content'] ], 'id' => 'article_' . $row['id'], 'index' => 'articles_index', 'type' => 'articles_type' ]; $client->index($params); }
Obtenir le document de l'index
$params = [ 'index' => 'articles_index', 'type' => 'articles_type', 'id' => 'articles_1' ]; $res = $client->get($params); print_r($res);
Supprimer le document de l'index
$params = [ 'index' => 'articles_index', 'type' => 'articles_type', 'id' => 'articles_1' ]; $res = $client->delete($params); print_r($res);
Supprimer l'index
$params = [ 'index' => 'articles_index' ]; $res = $client->indices()->delete($params); print_r($res);
Créer un index
$params['index'] = 'articles_index'; $params['body']['settings']['number_of_shards'] = 2; $params['body']['settings']['number_of_replicas'] = 0; $client->indices()->create($params);
Rechercher
$params = [ 'index' => 'articles_index', 'type' => 'articles_type', ]; $params['body']['query']['match']['content'] = 'Laravel'; $res = $client->search($params); print_r($res);
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
