Installieren und konfigurieren Sie Elasticsearch in Laravel

Führen Sie zum Installieren und Konfigurieren Elasticsearch in Laravel folgende Schritte aus:

Schritt 1: Installieren Elasticsearch

Zunächst müssen Sie es Elasticsearch auf Ihrem Server installieren oder Elasticsearch einen Cloud-Dienst wie Elastic Cloud nutzen. Besuchen Sie die Elasticsearch offizielle Website, um die entsprechende Version herunterzuladen und befolgen Sie die Installationsanweisungen.

Schritt 2: Installieren Elasticsearch Package für Laravel

Als nächstes installieren Sie das Elasticsearch Paket für Laravel. Es gibt verschiedene Pakete, die Elasticsearch in unterstützen Laravel, aber ein beliebtes Paket ist „ Laravel Scout “. Öffnen Sie zum Installieren Laravel Scout das terminal und führen Sie den folgenden Befehl aus:

composer require laravel/scout

Schritt 3: Konfigurieren Sie Elasticsearch in Laravel

Nach der Installation Laravel Scout müssen Sie es Elasticsearch als Standardsuchmaschine konfigurieren. Öffnen Sie die .env-Datei Laravel und fügen Sie die folgenden Konfigurationsparameter hinzu:

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

Wo SCOUT_DRIVER definiert die Suchmaschine, die die URL Laravel Scout verwendet und SCOUT_ELASTICSEARCH_HOSTS angibt, Elasticsearch zu der Scout eine Verbindung herstellt.

Schritt 4: Ausführen Migration

Führen Sie als Nächstes aus, migration um die „durchsuchbare“ Tabelle für die Modelle zu erstellen, in denen Sie suchen möchten Elasticsearch. Verwenden Sie den folgenden Befehl:

php artisan migrate

Schritt 5: Modell definieren und durchsuchbare Beschreibung zuweisen

Fügen Sie abschließend in dem Modell, das Sie durchsuchen möchten, das Searchable Merkmal hinzu und definieren Sie die durchsuchbare Beschreibung für jedes Modell. Zum Beispiel:

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  
        ];  
    }  
}  

Schritt 6: Daten synchronisieren mit Elasticsearch

Führen Sie nach dem Konfigurieren und Definieren der durchsuchbaren Modelle den Befehl aus, um Daten aus Ihrer Datenbank zu synchronisieren Elasticsearch:

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

Sobald es fertig ist, Elasticsearch wurde es in integriert Laravel und Sie können die Suchfunktion in Ihrer Anwendung verwenden.