Asenna ja määritä Elasticsearch sisään Laravel

Asenna ja määritä Elasticsearch sovelluksessa Laravel seuraavasti:

Vaihe 1: Asenna Elasticsearch

Ensinnäkin sinun on asennettava Elasticsearch palvelimellesi tai käytettävä Elasticsearch pilvipalvelua, kuten Elastic Cloud. Lataa Elasticsearch oikea versio viralliselta verkkosivustolta ja seuraa asennusohjeita.

Vaihe 2: Asenna Elasticsearch Package for Laravel

Asenna seuraavaksi Elasticsearch paketti Laravel. On olemassa useita paketteja, jotka tukevat Elasticsearch versiota Laravel, mutta yksi suosittu paketti on " Laravel Scout ". Asenna Laravel Scout avaamalla terminal ja suorittamalla seuraava komento:

composer require laravel/scout

Vaihe 3: Määritä Elasticsearch sisään Laravel

Asennuksen jälkeen Laravel Scout sinun on määritettävä se käytettäväksi Elasticsearch oletushakukoneena. Avaa .env-tiedosto Laravel ja lisää seuraavat määritysparametrit:

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

Missä SCOUT_DRIVER määrittää hakukoneen, joka Laravel Scout käyttää ja SCOUT_ELASTICSEARCH_HOSTS määrittää Elasticsearch URL-osoitteen, johon Scout muodostaa yhteyden.

Vaihe 4: Suorita Migration

Luo seuraavaksi migration "haettavissa oleva" taulukko malleille, joista haluat hakea Elasticsearch. Käytä seuraavaa komentoa:

php artisan migrate

Vaihe 5: Määritä malli ja määritä haettava kuvaus

Lisää lopuksi ominaisuus malliin, jota haluat etsiä, Searchable ja määritä kullekin mallille haettava kuvaus. Esimerkiksi:

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

Vaihe 6: Synkronoi tiedot kanssa Elasticsearch

Kun olet määrittänyt ja määrittänyt haettavat mallit, suorita komento synkronoidaksesi tiedot tietokannastasi Elasticsearch:

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

Kun se on valmis, Elasticsearch se on integroitu sovellukseen Laravel, ja voit alkaa käyttää sen hakutoimintoa sovelluksessasi.