À propos de la posture correcte d'utilisation de es dans Laravel
La colonne tutorielle suivante de Laravel vous présentera la bonne posture d'utilisation de es dans laravel. J'espère qu'elle sera utile aux amis dans le besoin !
Introduction à Elasticsearch
La couche inférieure d'Elastic est la bibliothèque open source Lucene. Cependant, vous ne pouvez pas utiliser Lucene directement, vous devez écrire votre propre code pour appeler son interface. Elastic est un package de Lucene et fournit une interface d'opération d'API REST qui peut être utilisée immédiatement.
Recommandation de cours → : "Elasticsearch Full Text Search Practical Combat" (Vidéo pratique)
Extrait du cours " Solution de concurrence de données de niveau dix millions (théorique + pratique)》
ES et Mysql
Les concepts d'ES sont analogue à Mysql Comme le montre la figure ci-dessous :
Index inversé
Avant de parler d'index inversé, commençons par parler de ce qu'est un indice positif. Indice de classement. L'index avant est également appelé « index avant », qui sert de base à la création d'un index inversé.
Comme ci-dessus, lors de la recherche des documents dans lesquels un mot-clé est contenu, tous les documents doivent être numérisés pour garantir que rien ne manque. Cela prolonge considérablement le temps de récupération et réduit l'efficacité de la récupération. A cette époque, nous avons utilisé l'index inversé, en segmentant d'abord le document en mots.
Par exemple, nous souhaitons interroger dans quels documents le mot-clé « moteur de recherche » apparaît. Tout d'abord, nous pouvons utiliser l'index inversé pour interroger les positions du document où le mot-clé apparaît en 1 et 3, puis nous pouvons interroger le contenu des documents 1 et 3 via l'index direct et renvoyer les résultats ;
Laravel utilise ES
Installation de plugins
basemkhirat/elasticsearch est une extension pour utiliser ES dans Laravel Il est très pratique à utiliser :
1) Méthode d'installation
$ composer require basemkhirat/elasticsearch
2) Publier
$ php artisan supplier:publish –provider=”BasemkhiratElasticsearchElasticsearchServiceProvider”
Configuration
De cette façon, nous l'avons installé. Voici notre configuration de connexion :
'connections' => [ 'default' => [ 'servers' => [ [ "host" => env("ELASTIC_HOST", "127.0.0.1"), "port" => env("ELASTIC_PORT", 9200), 'user' => env('ELASTIC_USER', ''), 'pass' => env('ELASTIC_PASS', ''), 'scheme' => env('ELASTIC_SCHEME', 'http'), ] ], 'index' => env('ELASTIC_INDEX', 'my_index') ]],
Notre configuration de cluster peut être ajoutée aux serveurs.
Méthode d'utilisation
La méthode d'utilisation de ce plug-in peut être utilisée à titre de référence à partir du constructeur de requêtes de Laravel, prenant en charge celles couramment utilisées telles que where
, whereIn
, whereBetween
, orderBy
, first
, get
, et prend également en charge la méthode de pagination paginate
.
ES::type("my_type")->search("hello" , function($search){$documents = ES::connection(“default”)
Définir le poids du champ :
gt ;get(); # renvoie une collection de résultats
$search->boost(2)->fields([ "title" => 2, "content" => 1])})-> get();
Nous pouvons également modifier le code source pour étendre les méthodes que nous besoin ou construire des instructions de requête natives :
$params['body'] = [ 'aggs' => [ 'all_created' => [ 'terms' => [ 'field' => 'element.raw', 'size' => $this->_mAggsPageSize ], 'aggs' => [ 'sum_pv' => [ 'sum' => ['field' => 'pv'], ], ], ], ], ];
Conclusion Le segmenteur de mots intégré d'ES n'est pas compatible avec la prise en charge de la segmentation intermédiaire. Le plus recommandé est le Segmenteur de mots IK. Il convient de noter que la version ik doit être cohérente avec la version ik. Numéro de version ES. <
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger
