Einfache Suche in Laravel mit Elasticsearch

Die einfache Suche ist eine grundlegende Funktion bei der Integration Laravel in Ihr Projekt. Um eine einfache Suche durchzuführen, gehen Sie folgendermaßen vor: Elasticsearch Elasticsearch Laravel

Schritt 1: Erstellen Model und definieren Sie eine durchsuchbare Beschreibung

Erstellen Sie zunächst ein model in Laravel und definieren Sie die durchsuchbare Beschreibung dafür model. Die durchsuchbare Beschreibung ist ein Array mit den Feldern, in denen Sie suchen möchten Elasticsearch.

Beispielsweise Product  möchten Sie im Modell anhand der Felder name und suchen description  .

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 2: Daten suchen

Nachdem Sie die durchsuchbare Beschreibung in definiert haben model, können Sie die Methode verwenden search(), um eine Datensuche in durchzuführen Elasticsearch.

$keyword = "Laravel";  
  
$results = Product::search($keyword)->get();  

Die search($keyword) Methode sucht nach Datensätzen, die das Schlüsselwort „ Laravel “ in den name und- description Feldern der enthalten Product model.

Schritt 3: Ergebnisse anzeigen

Nachdem Sie die Suche durchgeführt haben, können Sie die Ergebnisse verwenden, um dem Benutzer Informationen anzuzeigen.

foreach($results as $result) {  
    echo $result->name. ": ". $result->description;  
    // Display product information or other search data  
}  

Auf diese Weise können Sie grundlegende Suchergebnisse aus Elasticsearch Ihrer Laravel Anwendung heraus präsentieren.