Εγκατάσταση και διαμόρφωση Elasticsearch σε Laravel

Για να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους Elasticsearch στο Laravel, ακολουθήστε τα εξής βήματα:

Βήμα 1: Εγκατάσταση Elasticsearch

Πρώτον, πρέπει να εγκαταστήσετε Elasticsearch στον διακομιστή σας ή να χρησιμοποιήσετε Elasticsearch την υπηρεσία cloud όπως το Elastic Cloud. Επισκεφτείτε τον Elasticsearch επίσημο ιστότοπο για λήψη της κατάλληλης έκδοσης και ακολουθήστε τις οδηγίες εγκατάστασης.

Βήμα 2: Εγκατάσταση Elasticsearch Package για Laravel

Στη συνέχεια, εγκαταστήστε το Elasticsearch πακέτο για Laravel. Υπάρχουν διάφορα πακέτα που υποστηρίζουν Elasticsearch σε Laravel, αλλά ένα δημοφιλές πακέτο είναι το " Laravel Scout ". Για να εγκαταστήσετε Laravel Scout, ανοίξτε terminal και εκτελέστε την ακόλουθη εντολή:

composer require laravel/scout

Βήμα 3: Ρύθμιση Elasticsearch παραμέτρων Laravel

Μετά την εγκατάσταση Laravel Scout, πρέπει να το ρυθμίσετε ώστε να χρησιμοποιείται Elasticsearch ως η προεπιλεγμένη μηχανή αναζήτησης. Ανοίξτε το αρχείο .env του Laravel και προσθέστε τις ακόλουθες παραμέτρους διαμόρφωσης:

SCOUT_DRIVER=elasticsearch  
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200  

Where SCOUT_DRIVER ορίζει τη μηχανή αναζήτησης που Laravel Scout χρησιμοποιεί και SCOUT_ELASTICSEARCH_HOSTS καθορίζει τη Elasticsearch διεύθυνση URL στην οποία θα συνδεθεί το Scout.

Βήμα 4: Εκτέλεση Migration

Στη συνέχεια, εκτελέστε το migration για να δημιουργήσετε τον πίνακα "με δυνατότητα αναζήτησης" για τα μοντέλα στα οποία θέλετε να πραγματοποιήσετε αναζήτηση Elasticsearch. Χρησιμοποιήστε την ακόλουθη εντολή:

php artisan migrate

Βήμα 5: Ορισμός μοντέλου και αντιστοίχιση περιγραφής με δυνατότητα αναζήτησης

Τέλος, στο μοντέλο που θέλετε να αναζητήσετε, προσθέστε το Searchable χαρακτηριστικό και ορίστε την περιγραφή με δυνατότητα αναζήτησης για κάθε μοντέλο. Για παράδειγμα:

use Laravel\Scout\Searchable;  
  
class Product extends Model  
{  
    use Searchable;  
  
    public function toSearchableArray()  
    {  
        return [  
            'id' => $this->id,  
            'name' => $this->name,  
            'description' => $this->description,  
            // Add other searchable fields if needed  
        ];  
    }  
}  

Βήμα 6: Συγχρονισμός δεδομένων με Elasticsearch

Αφού διαμορφώσετε και ορίσετε τα μοντέλα με δυνατότητα αναζήτησης, εκτελέστε την εντολή για συγχρονισμό δεδομένων από τη βάση δεδομένων σας σε Elasticsearch:

php artisan scout:import "App\Models\Product"

Μόλις ολοκληρωθεί, Elasticsearch έχει ενσωματωθεί στο Laravel και μπορείτε να αρχίσετε να χρησιμοποιείτε τη δυνατότητα αναζήτησής του στην εφαρμογή σας.