Meilisearch-laravel-scout: рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЕрдкреНрд░реИрд▓ 2021  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: meilisearch/meilisearch-laravel-scout

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдорд╣рд╛рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рдж рдПрдХ DigitalOcean рдЫреЛрдЯреА рдмреВрдВрдж рдмрдирд╛рдИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ Laravel . рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕рд░реНрд╡рд░ рдбрд╛рдЙрди рд╣реЛрддрд╛ рд╣реИ (рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╕реАрдкреАрдпреВ 100% рд╕реЗ рдЕрдзрд┐рдХ рдкрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдЫреЛрдЯрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╣рд╛рдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХреВрдВ?
рдЕрднреА рдпрд╣ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореГрдд рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣реИрд▓реЛ @desaintflorent ,

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣реА рдкреВрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди @ hi019 рдиреЗ рдЬреЛ рдХрд╣рд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдХрд╕реНрдЯрдо http рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MeilisearchServiceProvider рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг:

php artisan make:provider MeilisearchServiceProvider
<?php

namespace App\Providers;

use MeiliSearch\Client;

class MeilisearchServiceProvider extends \Meilisearch\Scout\MeilisearchServiceProvider
{
    public function register()
    {
        parent::register();

        $this->app->singleton(Client::class, function () {
            return new Client(config('meilisearch.host'), config('meilisearch.key'), new \GuzzleHttp\Client(['timeout' => 0.01]));
        });
    }
}

рдЖрдк рдореЗрдВ config/app.php

'providers' => [
    // Other Service Providers

    App\Providers\MeilisearchServiceProvider::class,
],

рдлрд┐рд░, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреЛрдЬрд╝рд░.json рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ Meilisearch рдХреЛ рд╕реНрд╡рддрдГ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

   ...
    "extra": {
        "laravel": {
            "dont-discover": [
                "meilisearch/meilisearch-laravel-scout"
            ]
        }
    },
   ...

рдФрд░ рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЯрд╛рдЗрдордЖрдЙрдЯ рдПрдХ MeiliSearch\Exceptions\CommunicationException . рдлреЗрдВрдХ рджреЗрдЧрд╛

try {
    $movies = Movie::search('b')->get();
} catch (\MeiliSearch\Exceptions\CommunicationException $e) {
    // do something
}

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкрдврд╝рдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА: рдореБрд╕реНрдХрд╛рди:

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣реИрд▓реЛ @desaintflorent , рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ рддреЛ рдпрд╣ рдкреИрдХреЗрдЬ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд▓рд╛рд░реНрд╡рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд▓рд╛рд░реНрд╡рд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкрддрд╛ рд╣реИ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдЗрд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ

рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдбреЙрдХреНрд╕ рдкрд░ рдбреАрдУ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд╕рдВрдж рдЖрдпрд╛ рдпрд╣ рдкрдврд╝рдХрд░ рдЦреБрд╢реА рд╣реБрдИ, рд╣рдо рдЕрдЪреНрдЫреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ!

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХрд╕реНрдЯрдо GuzzleHTTP рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╕ рдХрд░рдХреЗ Meilisearch PHP рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрддрд░ рдкрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: https://github.com/meilisearch/meilisearch-php#customize -your-http-client

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╕реНрдЯрдо Meilisearch PHP рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХреЗрдВ

рдпрд╣ рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд╣рд╛рдВ рдореИрдВ рд╕рдВрджрд░реНрдн рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ рдХреЛрдИ рдирдпрд╛ рдЬреЛрдбрд╝ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рд▓рд╛рд░реНрд╡рд╛/рд╕реНрдХрд╛рдЙрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛
рд╣рдо рдПрдХ рдирдпрд╛ рд░реЗрдкреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ meilisearch-laravel-scout-extended рдкреНрд▓рдЧрдЗрди рд╣реЛрдЧрд╛, рдФрд░ рд╣рдо рдЗрд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░реЗрдВрдЧреЗред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреБрд▓рд╛ рд░рд╣рдиреЗ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдЧрд▓реЗ рд░реЗрдкреЛ (рдпрд╛ рдЗрд╕ рд░реЗрдкреЛ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг) рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рд╣реИрд▓реЛ @desaintflorent ,

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣реА рдкреВрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди @ hi019 рдиреЗ рдЬреЛ рдХрд╣рд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдХрд╕реНрдЯрдо http рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MeilisearchServiceProvider рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг:

php artisan make:provider MeilisearchServiceProvider
<?php

namespace App\Providers;

use MeiliSearch\Client;

class MeilisearchServiceProvider extends \Meilisearch\Scout\MeilisearchServiceProvider
{
    public function register()
    {
        parent::register();

        $this->app->singleton(Client::class, function () {
            return new Client(config('meilisearch.host'), config('meilisearch.key'), new \GuzzleHttp\Client(['timeout' => 0.01]));
        });
    }
}

рдЖрдк рдореЗрдВ config/app.php

'providers' => [
    // Other Service Providers

    App\Providers\MeilisearchServiceProvider::class,
],

рдлрд┐рд░, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреЛрдЬрд╝рд░.json рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ Meilisearch рдХреЛ рд╕реНрд╡рддрдГ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

   ...
    "extra": {
        "laravel": {
            "dont-discover": [
                "meilisearch/meilisearch-laravel-scout"
            ]
        }
    },
   ...

рдФрд░ рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЯрд╛рдЗрдордЖрдЙрдЯ рдПрдХ MeiliSearch\Exceptions\CommunicationException . рдлреЗрдВрдХ рджреЗрдЧрд╛

try {
    $movies = Movie::search('b')->get();
} catch (\MeiliSearch\Exceptions\CommunicationException $e) {
    // do something
}

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкрдврд╝рдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА: рдореБрд╕реНрдХрд╛рди:

@shokme рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдмрдЬрд╛рдп app.php рдореЗрдВ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: https://laravel.com/docs/8.x/providers#registering -providers

@shokme рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдмрдЬрд╛рдп app.php рдореЗрдВ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: https://laravel.com/docs/8.x/providers#registering -providers

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдЯреЗрд▓реАрд╕реНрдХреЛрдк рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИред

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛ !

@shokme рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЖрдкрдХрд╛ рдХреЛрдб рд╕рдордЭ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧреЗрдЧрд╛ :) рддреЛ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдмрд╕ рдПрдХ рдмрд╛рдд, рдЬрдм рдореИрдВрдиреЗ Meilisearch рдХреЛ рд╕реНрд╡рддрдГ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рдЦреЛрдЬ рдЪрд▓рд╛рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ ("рдбреНрд░рд╛рдЗрд╡рд░ [meilisearch] рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред")
рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдХреНрд╖рдо рди рдХрд░рдХреЗ, рдпрд╣ рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рд╡реЗрд╢ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрд▓реНрдж рд╣реА рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ?

рдореИрдВрдиреЗ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ \Meilisearch\Scout\MeilisearchServiceProvider рдХреЛ App\Providers\MeilisearchServiceProvider $ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рди рдХрд░рдирд╛ рдерд╛ред

рд▓реЗрдХрд┐рди, рдЬреЛ рдХреЛрдб рдореИрдВрдиреЗ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдпрд╛ рд╡рд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдЯреЗрд▓рд┐рд╕реНрдХреЛрдк рдкреИрдХреЗрдЬ рд╕реЗ рд╣реИред рддреЛ "рдбреЛрдВрдЯ-рдбрд┐рд╕реНрдХрд╡рд░" рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдореЗрд░реА рдЧрд▓рддреА, рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЕрдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ App\Providers\MeilisearchServiceProvider , рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рд╣реВрдБ рдФрд░ рдЖрдк рдкреИрдХреЗрдЬ рд╕реЗ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдЪреНрдЫрд╛ред рд▓реЗрдХрд┐рди рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред
рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ Meilisearch рдкреИрдХреЗрдЬ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ рдХрд╕реНрдЯрдо рдкреНрд░рджрд╛рддрд╛ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдЧрд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛ред рдЙрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдпрд╛ рди рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред

рд╡реИрд╕реЗ, рдЖрдЬ laravel-scout 9 рдХреЛ meilisearch рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рд░реНрдЯреА рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдХреЛрдб рд╕реНрдХрд╛рдЙрдЯ рдХреЗ рдЕрдВрджрд░ рдорд░реНрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dmyers picture dmyers  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

elfeffe picture elfeffe  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

milosevicn picture milosevicn  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ctf0 picture ctf0  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

curquiza picture curquiza  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ