Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!
하는 일
전체 텍스트 검색 기능 설치
환경
Laravel 5.8
카탈로그
1. Algolia가 무슨 뜻이에요?
2. Laravel에서 Algolia 사용 준비
3. 검색 테스트에 사용할 가상 데이터 만들기 + Algolia에 데이터 추가
4. 실제 검색!
Algolia가 무슨 뜻이에요?
Algoria는 전문 검색 엔진의 서비스로 인기가 높다.
홈페이지 → https://www.algolia.com/
위도 경도 데이터에 로그인하면 위치 정보 검색도 간단하게 설치할 수 있다.또 이번에 라벨에서 실시되면 다른 언어 프레임워크도 자유롭게 사용할 수 있다.
여기서 Documentation
API REFERENCE 중에서 선택할 수 있습니다!
사이트 내 어디에 무엇이 있는지 알기는 어렵지만 그곳을 알게 되면 모든 사람의 설명이 친절하다.
Laravel에서 Algolia를 사용할 예정입니다.
먼저 다음 명령으로 Scout를 설치합니다.composer require laravel/scout
이렇게 하면 Scout를 사용할 수 있다.Scout는 Laravel 공식 문서에 상세한 설명을 담고 있습니다.
그리고 다음 명령으로 config 디렉터리 scout.php
를 만듭니다.php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
그리고 scout.php
'queue' => true,
에서 설명한 대로 해당 매개변수의 값을 수정합니다.
그런 다음 Algolia 계정을 생성하여 API 키 및 키를 가져옵니다.
그나저나 첫 번째 시용 무료 기간은 14일이고 그 이후에는 매달 돈을 써야 하는데...또 무료 기간 기록의 최대 수도 줄어들었다.(자유롭다면 1만 건, 매달이면 계획에 따라 바뀐다. 자세한 사항은 공식 홈페이지에서)
필자는 회사 옆 자리에 있는 사람에게 열쇠를 빌려서 만드는 방법을 몰라서 ()
키를 생성한 후 .env
파일에 다음 내용을 추가하십시오.ALGOLIA_APP_ID=生成したAPIキー
ALGOLIA_SECRET=生成したシークレットキー
마지막으로 다음 명령으로 Algolia PHP SDK를 설치하고 준비를 마칩니다.composer require algolia/algoliasearch-client-php:^2.2
검색 테스트용 가상 데이터 만들기 + Algolia에 데이터 추가
우선 검색이 정상적으로 작동하는지 확인하기 위해 Faker를 사용하여 가상 데이터를 만듭니다.
우선 터미널부터 다음 명령을 통해 Faker를 사용할 수 있습니다.composer require fzaninotto/faker
이번에 우리는people표를 만들 것입니다.그래서 종착역에서php artisan make:migration create_people_table
php artisan make:seed PeopleTableSeeder
php artisan make:factory PersonFactory
데이터베이스/factories 이하PersonFactory.php
에서 다음과 같은 변경을 할 수 있기 때문이다.
PersonFactory.php<?php
/* @var $factory \Illuminate\Database\Eloquent\Factory */
use App\Model;
use Faker\Generator as Faker;
$factory->define(App\Person::class, function (Faker $faker) {
return [
'last_name' => $faker->lastName,
'first_name' => $faker->firstName,
'company' => $faker->company,
'location' => $faker->city,
'birth_year' => $faker->year,
'birth_month' => $faker->month,
];
});
그리고 아래와 같이 암호 파일을 수정합니다
PeopleTableSeeder.php<?php
use Illuminate\Database\Seeder;
class PeopleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\Person::class, 1000)->create();
}
}
1000은 가상 데이터를 만드는 수량이기 때문에 좋아합니다~
마지막 DatabaseSeeder.php
DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(PeopleTableSeeder::class);
}
}
결혼식이야!php artisan db:seed
지금까지 나는 데이터베이스의people표에 1000개의 가상 데이터가 있다고 생각한다.
그리고 이 데이터를 Algoria에 넘겨서 전체 텍스트 검색을 할 수 있도록 하세요.
내가 먼저 개인 모형을 하나 만들게.php artisan make:model PersonModel
그런 다음 모델을 다음과 같이 변경합니다.
Person.php<?php
namespace App;
use Laravel\Scout\Searchable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use Searchable;
use Notifiable;
public function searchableAs()
{
return 'people_index';
}
public function toSearchableArray()
{
$array = $this->toArray();
$array = $this->transform($array);
return $array;
}
}
SearchableAs 방법'people_index'
에 추가하면 Algolia 옆에 people이라는 테이블(?)이 있습니다에서 설명한 대로 해당 매개변수의 값을 수정합니다.public function searchableAs()
{
return 'people_index';
}
이것은 toSearchableArray 방법에 어떤 데이터를 추가하는지 설명합니다.
Laravel의 공식 문서에는 기술되지 않았지만toSearchableArray는 where와whereBetween에 필요한numericvalue를 정의하지 않았기 때문에 이러한 처리를 하려면 $array = $this->transform($array);
를 추가하여 데이터 형식의 변환을 할 수 있습니다.
그런 다음 검색 드라이버에 데이터를 추가합니다.다음 명령을 통해 완료합니다.php artisan scout:import 'App\Person'
실제 검색!
검색 결과를 얻기 위해 컨트롤러를 생성합니다.php artisan make:controller PersonController
그런 다음 컨트롤러를 다음과 같이 편집합니다.
PersonController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Name;
use App\Person;
class PersonController extends Controller
{
public function index(Request $request){
$results = Person::search($request->str_1)->get();
return view('top.index')->with('results',$results);
}
}
(전문 텍스트 검색 양식의 input의name을str_1로 설정)
(라우팅과view의 쓰기 생략)
가능하다면 검색 폼에 원하는 문자열을 입력하여 검색할 수 있습니다.참고로 $results
뷰에 직접 표시되면 json형으로 돌아오는 것을 확인할 수 있습니다!
마지막
아무튼 설치가 쉬워요.
다른 것도 많이 맞춤 제작할 수 있을 것 같아요.실제 설치에서 알아차린 점을 다시 투고할 수 있다면 좋겠다.
이번 참고 문헌은 라벨 공식 문서뿐이다.
Stackshare로 조사를 해보면 Amazon elasticsearch 서비스에서 갈아타는 분들도 많은 것 같아요. Algolia가 높은 평가를 받은 것 같아요!(내 생각에)
돈을 써야 하는데 역시 유료 콘텐츠가 최고네요~
보충하여 기록하다
Faker는 기본값이면 영어로 들어가기 때문에 일본어 데이터를 원한다면config/app.php
config/app.php'faker_locale'=>'ja_JP'
추가하십시오!
현금이 있을지도 몰라요. 그래서 종착역에 있어요.php artisan config:cache
잊지 마.
참고로 보도하다
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maip0902/items/4e8a1af752a993c48aa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Laravel 5.8
카탈로그
1. Algolia가 무슨 뜻이에요?
2. Laravel에서 Algolia 사용 준비
3. 검색 테스트에 사용할 가상 데이터 만들기 + Algolia에 데이터 추가
4. 실제 검색!
Algolia가 무슨 뜻이에요?
Algoria는 전문 검색 엔진의 서비스로 인기가 높다.
홈페이지 → https://www.algolia.com/
위도 경도 데이터에 로그인하면 위치 정보 검색도 간단하게 설치할 수 있다.또 이번에 라벨에서 실시되면 다른 언어 프레임워크도 자유롭게 사용할 수 있다.
여기서 Documentation
API REFERENCE 중에서 선택할 수 있습니다!
사이트 내 어디에 무엇이 있는지 알기는 어렵지만 그곳을 알게 되면 모든 사람의 설명이 친절하다.
Laravel에서 Algolia를 사용할 예정입니다.
먼저 다음 명령으로 Scout를 설치합니다.composer require laravel/scout
이렇게 하면 Scout를 사용할 수 있다.Scout는 Laravel 공식 문서에 상세한 설명을 담고 있습니다.
그리고 다음 명령으로 config 디렉터리 scout.php
를 만듭니다.php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
그리고 scout.php
'queue' => true,
에서 설명한 대로 해당 매개변수의 값을 수정합니다.
그런 다음 Algolia 계정을 생성하여 API 키 및 키를 가져옵니다.
그나저나 첫 번째 시용 무료 기간은 14일이고 그 이후에는 매달 돈을 써야 하는데...또 무료 기간 기록의 최대 수도 줄어들었다.(자유롭다면 1만 건, 매달이면 계획에 따라 바뀐다. 자세한 사항은 공식 홈페이지에서)
필자는 회사 옆 자리에 있는 사람에게 열쇠를 빌려서 만드는 방법을 몰라서 ()
키를 생성한 후 .env
파일에 다음 내용을 추가하십시오.ALGOLIA_APP_ID=生成したAPIキー
ALGOLIA_SECRET=生成したシークレットキー
마지막으로 다음 명령으로 Algolia PHP SDK를 설치하고 준비를 마칩니다.composer require algolia/algoliasearch-client-php:^2.2
검색 테스트용 가상 데이터 만들기 + Algolia에 데이터 추가
우선 검색이 정상적으로 작동하는지 확인하기 위해 Faker를 사용하여 가상 데이터를 만듭니다.
우선 터미널부터 다음 명령을 통해 Faker를 사용할 수 있습니다.composer require fzaninotto/faker
이번에 우리는people표를 만들 것입니다.그래서 종착역에서php artisan make:migration create_people_table
php artisan make:seed PeopleTableSeeder
php artisan make:factory PersonFactory
데이터베이스/factories 이하PersonFactory.php
에서 다음과 같은 변경을 할 수 있기 때문이다.
PersonFactory.php<?php
/* @var $factory \Illuminate\Database\Eloquent\Factory */
use App\Model;
use Faker\Generator as Faker;
$factory->define(App\Person::class, function (Faker $faker) {
return [
'last_name' => $faker->lastName,
'first_name' => $faker->firstName,
'company' => $faker->company,
'location' => $faker->city,
'birth_year' => $faker->year,
'birth_month' => $faker->month,
];
});
그리고 아래와 같이 암호 파일을 수정합니다
PeopleTableSeeder.php<?php
use Illuminate\Database\Seeder;
class PeopleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\Person::class, 1000)->create();
}
}
1000은 가상 데이터를 만드는 수량이기 때문에 좋아합니다~
마지막 DatabaseSeeder.php
DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(PeopleTableSeeder::class);
}
}
결혼식이야!php artisan db:seed
지금까지 나는 데이터베이스의people표에 1000개의 가상 데이터가 있다고 생각한다.
그리고 이 데이터를 Algoria에 넘겨서 전체 텍스트 검색을 할 수 있도록 하세요.
내가 먼저 개인 모형을 하나 만들게.php artisan make:model PersonModel
그런 다음 모델을 다음과 같이 변경합니다.
Person.php<?php
namespace App;
use Laravel\Scout\Searchable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use Searchable;
use Notifiable;
public function searchableAs()
{
return 'people_index';
}
public function toSearchableArray()
{
$array = $this->toArray();
$array = $this->transform($array);
return $array;
}
}
SearchableAs 방법'people_index'
에 추가하면 Algolia 옆에 people이라는 테이블(?)이 있습니다에서 설명한 대로 해당 매개변수의 값을 수정합니다.public function searchableAs()
{
return 'people_index';
}
이것은 toSearchableArray 방법에 어떤 데이터를 추가하는지 설명합니다.
Laravel의 공식 문서에는 기술되지 않았지만toSearchableArray는 where와whereBetween에 필요한numericvalue를 정의하지 않았기 때문에 이러한 처리를 하려면 $array = $this->transform($array);
를 추가하여 데이터 형식의 변환을 할 수 있습니다.
그런 다음 검색 드라이버에 데이터를 추가합니다.다음 명령을 통해 완료합니다.php artisan scout:import 'App\Person'
실제 검색!
검색 결과를 얻기 위해 컨트롤러를 생성합니다.php artisan make:controller PersonController
그런 다음 컨트롤러를 다음과 같이 편집합니다.
PersonController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Name;
use App\Person;
class PersonController extends Controller
{
public function index(Request $request){
$results = Person::search($request->str_1)->get();
return view('top.index')->with('results',$results);
}
}
(전문 텍스트 검색 양식의 input의name을str_1로 설정)
(라우팅과view의 쓰기 생략)
가능하다면 검색 폼에 원하는 문자열을 입력하여 검색할 수 있습니다.참고로 $results
뷰에 직접 표시되면 json형으로 돌아오는 것을 확인할 수 있습니다!
마지막
아무튼 설치가 쉬워요.
다른 것도 많이 맞춤 제작할 수 있을 것 같아요.실제 설치에서 알아차린 점을 다시 투고할 수 있다면 좋겠다.
이번 참고 문헌은 라벨 공식 문서뿐이다.
Stackshare로 조사를 해보면 Amazon elasticsearch 서비스에서 갈아타는 분들도 많은 것 같아요. Algolia가 높은 평가를 받은 것 같아요!(내 생각에)
돈을 써야 하는데 역시 유료 콘텐츠가 최고네요~
보충하여 기록하다
Faker는 기본값이면 영어로 들어가기 때문에 일본어 데이터를 원한다면config/app.php
config/app.php'faker_locale'=>'ja_JP'
추가하십시오!
현금이 있을지도 몰라요. 그래서 종착역에 있어요.php artisan config:cache
잊지 마.
참고로 보도하다
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maip0902/items/4e8a1af752a993c48aa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Algoria는 전문 검색 엔진의 서비스로 인기가 높다.
홈페이지 → https://www.algolia.com/
위도 경도 데이터에 로그인하면 위치 정보 검색도 간단하게 설치할 수 있다.또 이번에 라벨에서 실시되면 다른 언어 프레임워크도 자유롭게 사용할 수 있다.
여기서 Documentation
API REFERENCE 중에서 선택할 수 있습니다!
사이트 내 어디에 무엇이 있는지 알기는 어렵지만 그곳을 알게 되면 모든 사람의 설명이 친절하다.
Laravel에서 Algolia를 사용할 예정입니다.
먼저 다음 명령으로 Scout를 설치합니다.composer require laravel/scout
이렇게 하면 Scout를 사용할 수 있다.Scout는 Laravel 공식 문서에 상세한 설명을 담고 있습니다.
그리고 다음 명령으로 config 디렉터리 scout.php
를 만듭니다.php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
그리고 scout.php
'queue' => true,
에서 설명한 대로 해당 매개변수의 값을 수정합니다.
그런 다음 Algolia 계정을 생성하여 API 키 및 키를 가져옵니다.
그나저나 첫 번째 시용 무료 기간은 14일이고 그 이후에는 매달 돈을 써야 하는데...또 무료 기간 기록의 최대 수도 줄어들었다.(자유롭다면 1만 건, 매달이면 계획에 따라 바뀐다. 자세한 사항은 공식 홈페이지에서)
필자는 회사 옆 자리에 있는 사람에게 열쇠를 빌려서 만드는 방법을 몰라서 ()
키를 생성한 후 .env
파일에 다음 내용을 추가하십시오.ALGOLIA_APP_ID=生成したAPIキー
ALGOLIA_SECRET=生成したシークレットキー
마지막으로 다음 명령으로 Algolia PHP SDK를 설치하고 준비를 마칩니다.composer require algolia/algoliasearch-client-php:^2.2
검색 테스트용 가상 데이터 만들기 + Algolia에 데이터 추가
우선 검색이 정상적으로 작동하는지 확인하기 위해 Faker를 사용하여 가상 데이터를 만듭니다.
우선 터미널부터 다음 명령을 통해 Faker를 사용할 수 있습니다.composer require fzaninotto/faker
이번에 우리는people표를 만들 것입니다.그래서 종착역에서php artisan make:migration create_people_table
php artisan make:seed PeopleTableSeeder
php artisan make:factory PersonFactory
데이터베이스/factories 이하PersonFactory.php
에서 다음과 같은 변경을 할 수 있기 때문이다.
PersonFactory.php<?php
/* @var $factory \Illuminate\Database\Eloquent\Factory */
use App\Model;
use Faker\Generator as Faker;
$factory->define(App\Person::class, function (Faker $faker) {
return [
'last_name' => $faker->lastName,
'first_name' => $faker->firstName,
'company' => $faker->company,
'location' => $faker->city,
'birth_year' => $faker->year,
'birth_month' => $faker->month,
];
});
그리고 아래와 같이 암호 파일을 수정합니다
PeopleTableSeeder.php<?php
use Illuminate\Database\Seeder;
class PeopleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\Person::class, 1000)->create();
}
}
1000은 가상 데이터를 만드는 수량이기 때문에 좋아합니다~
마지막 DatabaseSeeder.php
DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(PeopleTableSeeder::class);
}
}
결혼식이야!php artisan db:seed
지금까지 나는 데이터베이스의people표에 1000개의 가상 데이터가 있다고 생각한다.
그리고 이 데이터를 Algoria에 넘겨서 전체 텍스트 검색을 할 수 있도록 하세요.
내가 먼저 개인 모형을 하나 만들게.php artisan make:model PersonModel
그런 다음 모델을 다음과 같이 변경합니다.
Person.php<?php
namespace App;
use Laravel\Scout\Searchable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use Searchable;
use Notifiable;
public function searchableAs()
{
return 'people_index';
}
public function toSearchableArray()
{
$array = $this->toArray();
$array = $this->transform($array);
return $array;
}
}
SearchableAs 방법'people_index'
에 추가하면 Algolia 옆에 people이라는 테이블(?)이 있습니다에서 설명한 대로 해당 매개변수의 값을 수정합니다.public function searchableAs()
{
return 'people_index';
}
이것은 toSearchableArray 방법에 어떤 데이터를 추가하는지 설명합니다.
Laravel의 공식 문서에는 기술되지 않았지만toSearchableArray는 where와whereBetween에 필요한numericvalue를 정의하지 않았기 때문에 이러한 처리를 하려면 $array = $this->transform($array);
를 추가하여 데이터 형식의 변환을 할 수 있습니다.
그런 다음 검색 드라이버에 데이터를 추가합니다.다음 명령을 통해 완료합니다.php artisan scout:import 'App\Person'
실제 검색!
검색 결과를 얻기 위해 컨트롤러를 생성합니다.php artisan make:controller PersonController
그런 다음 컨트롤러를 다음과 같이 편집합니다.
PersonController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Name;
use App\Person;
class PersonController extends Controller
{
public function index(Request $request){
$results = Person::search($request->str_1)->get();
return view('top.index')->with('results',$results);
}
}
(전문 텍스트 검색 양식의 input의name을str_1로 설정)
(라우팅과view의 쓰기 생략)
가능하다면 검색 폼에 원하는 문자열을 입력하여 검색할 수 있습니다.참고로 $results
뷰에 직접 표시되면 json형으로 돌아오는 것을 확인할 수 있습니다!
마지막
아무튼 설치가 쉬워요.
다른 것도 많이 맞춤 제작할 수 있을 것 같아요.실제 설치에서 알아차린 점을 다시 투고할 수 있다면 좋겠다.
이번 참고 문헌은 라벨 공식 문서뿐이다.
Stackshare로 조사를 해보면 Amazon elasticsearch 서비스에서 갈아타는 분들도 많은 것 같아요. Algolia가 높은 평가를 받은 것 같아요!(내 생각에)
돈을 써야 하는데 역시 유료 콘텐츠가 최고네요~
보충하여 기록하다
Faker는 기본값이면 영어로 들어가기 때문에 일본어 데이터를 원한다면config/app.php
config/app.php'faker_locale'=>'ja_JP'
추가하십시오!
현금이 있을지도 몰라요. 그래서 종착역에 있어요.php artisan config:cache
잊지 마.
참고로 보도하다
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maip0902/items/4e8a1af752a993c48aa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
composer require laravel/scout
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
'queue' => true,
ALGOLIA_APP_ID=生成したAPIキー
ALGOLIA_SECRET=生成したシークレットキー
composer require algolia/algoliasearch-client-php:^2.2
우선 검색이 정상적으로 작동하는지 확인하기 위해 Faker를 사용하여 가상 데이터를 만듭니다.
우선 터미널부터 다음 명령을 통해 Faker를 사용할 수 있습니다.
composer require fzaninotto/faker
이번에 우리는people표를 만들 것입니다.그래서 종착역에서php artisan make:migration create_people_table
php artisan make:seed PeopleTableSeeder
php artisan make:factory PersonFactory
데이터베이스/factories 이하PersonFactory.php
에서 다음과 같은 변경을 할 수 있기 때문이다.PersonFactory.php
<?php
/* @var $factory \Illuminate\Database\Eloquent\Factory */
use App\Model;
use Faker\Generator as Faker;
$factory->define(App\Person::class, function (Faker $faker) {
return [
'last_name' => $faker->lastName,
'first_name' => $faker->firstName,
'company' => $faker->company,
'location' => $faker->city,
'birth_year' => $faker->year,
'birth_month' => $faker->month,
];
});
그리고 아래와 같이 암호 파일을 수정합니다PeopleTableSeeder.php
<?php
use Illuminate\Database\Seeder;
class PeopleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\Person::class, 1000)->create();
}
}
1000은 가상 데이터를 만드는 수량이기 때문에 좋아합니다~마지막
DatabaseSeeder.php
DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(PeopleTableSeeder::class);
}
}
결혼식이야!php artisan db:seed
지금까지 나는 데이터베이스의people표에 1000개의 가상 데이터가 있다고 생각한다.그리고 이 데이터를 Algoria에 넘겨서 전체 텍스트 검색을 할 수 있도록 하세요.
내가 먼저 개인 모형을 하나 만들게.
php artisan make:model PersonModel
그런 다음 모델을 다음과 같이 변경합니다.Person.php
<?php
namespace App;
use Laravel\Scout\Searchable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use Searchable;
use Notifiable;
public function searchableAs()
{
return 'people_index';
}
public function toSearchableArray()
{
$array = $this->toArray();
$array = $this->transform($array);
return $array;
}
}
SearchableAs 방법'people_index'
에 추가하면 Algolia 옆에 people이라는 테이블(?)이 있습니다에서 설명한 대로 해당 매개변수의 값을 수정합니다.public function searchableAs()
{
return 'people_index';
}
이것은 toSearchableArray 방법에 어떤 데이터를 추가하는지 설명합니다.Laravel의 공식 문서에는 기술되지 않았지만toSearchableArray는 where와whereBetween에 필요한numericvalue를 정의하지 않았기 때문에 이러한 처리를 하려면
$array = $this->transform($array);
를 추가하여 데이터 형식의 변환을 할 수 있습니다.그런 다음 검색 드라이버에 데이터를 추가합니다.다음 명령을 통해 완료합니다.
php artisan scout:import 'App\Person'
실제 검색!
검색 결과를 얻기 위해 컨트롤러를 생성합니다.php artisan make:controller PersonController
그런 다음 컨트롤러를 다음과 같이 편집합니다.
PersonController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Name;
use App\Person;
class PersonController extends Controller
{
public function index(Request $request){
$results = Person::search($request->str_1)->get();
return view('top.index')->with('results',$results);
}
}
(전문 텍스트 검색 양식의 input의name을str_1로 설정)
(라우팅과view의 쓰기 생략)
가능하다면 검색 폼에 원하는 문자열을 입력하여 검색할 수 있습니다.참고로 $results
뷰에 직접 표시되면 json형으로 돌아오는 것을 확인할 수 있습니다!
마지막
아무튼 설치가 쉬워요.
다른 것도 많이 맞춤 제작할 수 있을 것 같아요.실제 설치에서 알아차린 점을 다시 투고할 수 있다면 좋겠다.
이번 참고 문헌은 라벨 공식 문서뿐이다.
Stackshare로 조사를 해보면 Amazon elasticsearch 서비스에서 갈아타는 분들도 많은 것 같아요. Algolia가 높은 평가를 받은 것 같아요!(내 생각에)
돈을 써야 하는데 역시 유료 콘텐츠가 최고네요~
보충하여 기록하다
Faker는 기본값이면 영어로 들어가기 때문에 일본어 데이터를 원한다면config/app.php
config/app.php'faker_locale'=>'ja_JP'
추가하십시오!
현금이 있을지도 몰라요. 그래서 종착역에 있어요.php artisan config:cache
잊지 마.
참고로 보도하다
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maip0902/items/4e8a1af752a993c48aa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
php artisan make:controller PersonController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Name;
use App\Person;
class PersonController extends Controller
{
public function index(Request $request){
$results = Person::search($request->str_1)->get();
return view('top.index')->with('results',$results);
}
}
아무튼 설치가 쉬워요.
다른 것도 많이 맞춤 제작할 수 있을 것 같아요.실제 설치에서 알아차린 점을 다시 투고할 수 있다면 좋겠다.
이번 참고 문헌은 라벨 공식 문서뿐이다.
Stackshare로 조사를 해보면 Amazon elasticsearch 서비스에서 갈아타는 분들도 많은 것 같아요. Algolia가 높은 평가를 받은 것 같아요!(내 생각에)
돈을 써야 하는데 역시 유료 콘텐츠가 최고네요~
보충하여 기록하다
Faker는 기본값이면 영어로 들어가기 때문에 일본어 데이터를 원한다면config/app.php
config/app.php'faker_locale'=>'ja_JP'
추가하십시오!
현금이 있을지도 몰라요. 그래서 종착역에 있어요.php artisan config:cache
잊지 마.
참고로 보도하다
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maip0902/items/4e8a1af752a993c48aa2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
'faker_locale'=>'ja_JP'
php artisan config:cache
Instant Search with Laravel Scout & Algolia
Nuxt.js+Algolia 전문 검색 가능한 작업 관리 응용 프로그램을 실현하는 Hanzuon!
Reference
이 문제에 관하여(Lalavel Scout에서 Algolia를 사용하여 전체 텍스트 검색을 수행했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maip0902/items/4e8a1af752a993c48aa2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)