λλ λΉμ μ νλ₯ν νν 리μΌμ λ°λΌ DigitalOcean λ°©μΈμ μμ±νμΌλ©° Laravelκ³Ό ν¨κ» μ±κ³΅μ μΌλ‘ μ¬μ©νκ³ μμ΅λλ€ π
λ΄κ° κ°μ§ μ μΌν λ¬Έμ λ μλ²κ° λ€μ΄λμμ λμ
λλ€(μλμΌλ‘ μ€μ§λκ±°λ CPUκ° 100% μ΄μ).
μ€λ₯λ₯Ό νμν μ μλλ‘ μ§§μ μκ° μ΄κ³Όλ₯Ό μ€μ ν μ μλ μμΉλ₯Ό μ°Ύμ μ μμ΅λκΉ?
μ§κΈμ μ£½μ μλ²μ μλ΅μ 무기νμΌλ‘ λ‘λ μ€μ
λλ€.
@desaintflorent λ , μ κ° νλ¦¬μ§ μμ κ²½μ° μ΄ ν¨ν€μ§λ μκ° μ΄κ³Όλ₯Ό μ€μ νλ μ΅μ
μ μ 곡νμ§ μμ΅λλ€. μ λ laravel μ¬μ©μκ° μλλ―λ‘ laravelμ λν ν΄κ²° λ°©λ²μ μ 곡ν μ μμ΅λλ€.
λκ΅°κ°κ° ν΄κ²° λ°©λ²μ μκ³ μλ€λ©΄ μ΄ λ¬Έμ μ λν΄ μμ λ‘κ² κ³΅μ νμμμ€ π
μ°λ¦¬ λ¬Έμμ DO νν 리μΌμ΄ λ§μμ λμ ¨λ€λ λ€νμ λλ€. μ’μ λ¬Έμμ ν΅ν©μ μ 곡νκΈ° μν΄ μ΅μ μ λ€ν©λλ€!
μ¬μ©μ μ§μ GuzzleHTTP μΈμ€ν΄μ€λ₯Ό ν΄λΌμ΄μΈνΈμ μ λ¬νμ¬ Meilisearch PHP ν΄λΌμ΄μΈνΈ μμ€μμ μνν΄μΌ νλ€κ³ μκ°ν©λλ€. https://github.com/meilisearch/meilisearch-php#customize -your-http-client
νμ¬λ‘μλ λ°©λ²μ΄ μμ΅λλ€. μ¬μ©μκ° μ€μ μμ μ¬μ©μ μ μ Meilisearch PHP ν΄λΌμ΄μΈνΈλ₯Ό μ λ¬νλλ‘ νμ©ν μ μμ΅λλ€.
μ΄κ²μ νλ₯ν μΆκ° μ¬νμ΄ λ κ²μ
λλ€. κ·Έλ¬λ 컨ν
μ€νΈλ₯Ό μ€λͺ
νλ μ΄ λ¬Έμ μ λ°λ₯΄λ©΄ μ΄ λ¦¬ν¬μ§ν 리μλ larvel/scoutκ³Ό μΌμΉνμ§ μλ μλ‘μ΄ μΆκ° νλͺ©μ΄ μμ΅λλ€.
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,
],
κ·Έλ° λ€μ composer.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]κ° μ§μλμ§ μμ΅λλ€." ).
κ·Έλ¬λ λΉνμ±ννμ§ μμΌλ©΄ λ΄ λ‘컬 νκ²½μμ μλν©λλ€. 곧 μμ°μ λμ ν μμ μ
λλ€.
λΉνμ±ννλ κ²μ΄ μ€μν μ΄μ λ 무μμ
λκΉ?
κ·νμ μ€λ₯λ₯Ό μ¬ννλ €κ³ μλνμ§λ§ μ μΌν λ°©λ²μ App\Providers\MeilisearchServiceProvider
\Meilisearch\Scout\MeilisearchServiceProvider
λ₯Ό νμ₯νμ§ μλ κ²μ
λλ€.
νμ§λ§ μ κ° λ³΄μ¬λλ¦° μ½λλ λλΆλΆ λ§μκ²½ ν¨ν€μ§μμ κ°μ Έμ¨ κ²μ λλ€. λ°λΌμ "dont-discover"λ κΈ°λ³Έμ μΌλ‘ ν¨ν€μ§λ₯Ό λ±λ‘νμ§ μμΌλ©° νμν λ λ‘λν μ μμ΅λλ€. λ΄ μ€μ, λΉμ μ μ΄κ²μ νΌν μ μμ΅λλ€ .
μ΄μ App\Providers\MeilisearchServiceProvider
μ λν΄ λ΄κ° μ³κ³ ν¨ν€μ§μμ 곡κΈμλ₯Ό νμ₯νμ§ μμΌλ©΄ μ μλν©λλ€. νμ§λ§ μμ§ν λ§ν΄μ 무λ λ€μμ μ΄λ»κ² μ²λ¦¬λ μ§ μ λͺ¨λ₯΄κ² μ΅λλ€.
λ΄ μκ°μ Meilisearch ν¨ν€μ§κ° λ±λ‘λ λ€μ μ¬μ©μ μ§μ 곡κΈμκ° λ±λ‘λκ³ ν΄λΌμ΄μΈνΈ μ±κΈν€μ μ¬μ μν©λλ€. λͺ
νν λ΅λ³μ λ릴 μ μκΈ° λλ¬Έμ μ°μ₯ μ¬λΆλ κ·νμ μ νμ
λλ€.
그건 κ·Έλ κ³ , μ€λ laravel-scout 9κ° meilisearchμ μ§μμ λ°μ νΌμ€νΈ νν° ν¨ν€μ§λ‘ μΆμλμμ΅λλ€. μ¬μ©νκ³ μΆμ μλ μμ΅λλ€. μ΄ ν¨ν€μ§μ μ½λλ scout λ΄λΆμ λ³ν©λμμΌλ―λ‘ μ무 κ²λ λ³κ²½λμ§ μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ @desaintflorent μ λλ€ .
μ΄κ²μ΄ κ·νκ° μμ²ν κ²μΈμ§ νμ€νμ§ μμ§λ§ @hi019 κ° λ§ν κ²μ κΈ°λ°μΌλ‘ μ¬μ©μ μ μ http ν΄λΌμ΄μΈνΈλ₯Ό μ¬μ©νλλ‘ MeilisearchServiceProviderλ₯Ό μ¬μ μν μ μμ΅λλ€.
μμ:
λΉμ
config/app.php
κ·Έλ° λ€μ composer.jsonμ λ€μμ μΆκ°νμ¬ Meilisearchκ° μλ κ²μλμ§ μλλ‘ λΉνμ±νν΄μΌ ν©λλ€.
κ·Έλ¦¬κ³ λ΄κ° λΉμ μ΄ μ’μ κ²μ λμΉμ§ μμΌλ©΄ μκ° μ΄κ³Όλ
MeiliSearch\Exceptions\CommunicationException
λ₯Ό λμ§ κ²μ λλ€.λκ΅°κ°κ° λ λμ μ νμ νλ€λ©΄ κΈ°κΊΌμ΄ μ½μ κ²μ λλ€ :μ€λ§μΌ: