라라벨에서 라라벨의 ORM을 사용할 수 있도록 엘라스틱 서치를 연동해 보도록 하자. 다양한 툴이 있지만 오늘 사용할 툴은 이것이다
https://elasticsearch.pdphilip.com/getting-started/
Getting Started
Kickstart your journey with Elasticsearch integration in Laravel, leveraging the powerful search and analytics capabilities alongside the familiar Eloquent ORM.
elasticsearch.pdphilip.com
여기에 있는 설명대로 하면 어려울 것은 없다.
먼저 설치를 하자.
$composer require pdphilip/elasticsearch
설치를 한 후에 .env 파일의 맨 끝에 아래 소스를 추가한다.
ES_AUTH_TYPE=http
ES_HOSTS="http://localhost:9200"
ES_USERNAME=아이디
ES_PASSWORD=암호
ES_CLOUD_ID=
ES_API_ID=
ES_API_KEY=
ES_SSL_CA=
ES_INDEX_PREFIX=
# prefix will be added to all indexes created by the package with an underscore
# ex: my_app_user_logs for UserLog.php model
ES_SSL_CERT=
ES_SSL_CERT_PASSWORD=
ES_SSL_KEY=
ES_SSL_KEY_PASSWORD=
# Options
ES_OPT_ID_SORTABLE=false
ES_OPT_VERIFY_SSL=true
ES_OPT_RETRIES=
ES_OPT_META_HEADERS=true
ES_ERROR_INDEX=
ES_OPT_BYPASS_MAP_VALIDATION=false
ES_OPT_DEFAULT_LIMIT=1000
나는 ES_INDEX_PREFIX 이 부분은 공백으로 두었다.
그리고 config 폴더안에 있는 database.php를 수정한다.
elasticsearch 부분을 반드시 connections 안에 넣어줘야 한다.
그리고 config안의 app.php도 수정한다.
providers안에 elasticsearch부분을 추가해준다.
이렇게하면 준비는 끝났다.
config를 바꿨으니 캐시도 한번 날려준다.
$php artisan config:cache
자 이제 소스에서 ORM을 쓰기 위한 준비를 해준다. 먼저 모델을 만들어준다.
app/Models/Chukppa.php
모델명과 table명을 확인하자. table명이 index명이다.
이제 이 모델을 이용해서 콘트롤러에서 값을 출력해보자.
이런식으로 사용한다. 마치 mysql의 테이블을 불러오는듯이 자연스럽다.
다음엔 등록하고 수정하는것들을 해보자.
'PHP' 카테고리의 다른 글
[라라벨]쿼리에 함수를 쓸때 whereRaw (0) | 2025.05.22 |
---|---|
[라라벨]쿼리문 and와 or 혼용해서 쓰기 (0) | 2024.08.01 |
[라라벨]페이징에 부트스트랩(bootstrap) 적용하기 (0) | 2024.06.20 |
[라라벨]섬머노트(summernote) 웹에디터 적용하기 #3 수정하기 (0) | 2024.06.18 |
[라라벨]섬머노트(summernote) 웹에디터 적용하기 #2 이미지 첨부하기 (0) | 2024.06.12 |