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.