Instalovat a konfigurovat Elasticsearch v Laravel

Chcete-li nainstalovat a nakonfigurovat Elasticsearch v Laravel, postupujte takto:

Krok 1: Nainstalujte Elasticsearch

Nejprve musíte nainstalovat Elasticsearch na svůj server nebo použít Elasticsearch cloudovou službu, jako je Elastic Cloud. Navštivte Elasticsearch oficiální webovou stránku, stáhněte si příslušnou verzi a postupujte podle pokynů k instalaci.

Krok 2: Nainstalujte Elasticsearch Package pro Laravel

Dále nainstalujte Elasticsearch balíček pro Laravel. Existují různé balíčky, které podporují Elasticsearch v Laravel, ale jeden oblíbený balíček je " Laravel Scout ". Chcete-li nainstalovat Laravel Scout, otevřete terminal a spusťte následující příkaz:

composer require laravel/scout

Krok 3: Nakonfigurujte Elasticsearch v Laravel

Po instalaci Laravel Scout jej musíte nakonfigurovat tak, aby se používal Elasticsearch jako výchozí vyhledávač. Otevřete soubor .env Laravel a přidejte následující konfigurační parametry:

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

Kde SCOUT_DRIVER definuje vyhledávač, který Laravel Scout používá, a SCOUT_ELASTICSEARCH_HOSTS určuje Elasticsearch URL, ke které se Scout připojí.

Krok 4: Spusťte Migration

Dále spusťte migration pro vytvoření "vyhledávatelné" tabulky pro modely, které chcete hledat v Elasticsearch. Použijte následující příkaz:

php artisan migrate

Krok 5: Definujte model a přiřaďte prohledávatelný popis

Nakonec do modelu, který chcete hledat, přidejte Searchable vlastnost a definujte prohledatelný popis pro každý model. Například:

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

Krok 6: Synchronizujte data s Elasticsearch

Po konfiguraci a definování prohledávatelných modelů spusťte příkaz pro synchronizaci dat z databáze do Elasticsearch:

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

Po dokončení Elasticsearch byl integrován do Laravel a můžete začít používat jeho vyhledávací funkci ve své aplikaci.