1. 엘라스틱서치 요청과 응답
기본적으로 elastic search는 REST API를 사용한다 REST API는 http의 장점을 이용해서 리소스를 주고받는 형태이고 다음과 같은 메소드를 사용해 CRUD 작업을 진행한다
POST | 리소스 추가 | GET | 리소스 조회 |
PUT | 리소스 수정 | DELETE | 리소스 삭제 |
2. 시스템 상태 확인 하는법
위와 같이 시스템의 상태를 확인하는 방법으로는 cat API를 사용하면 되며 GET _cat을 사용해서 호출할 수 있다. 만약 내부 인덱스의 목록을 확인해보고 싶다면 GET _cat/indices?v를 요청하면 된다.
인덱스와 도큐먼트
- 도큐먼트란 엘라스틱에서 데이터가 저장되는 기본 단위로 JSON형태이다.
{
"name": "Jang",
"age": 23,
"gender": male
}
위와 같이 작성될 수 있으며 name, age, gender은 필드라고 하며 jang,23, male은 값이라고 한다. 엘라스틱 서치는 매핑을 명시하지 않으면 자동으로 매핑이 된다.
- 인덱스란 sql의 테이블과 비슷한 개념이라고 생각하면 되는데 동일한 인덱스에 있는 도큐먼트는 동일한 스키마를 가지고 모든 도큐먼트는 하나의 인덱스에 포함되어야 하며 인덱스 이름은 255자를 넘길 수 없다.
PUT index1 #인덱스 생성
PUT index/_doc/1 #도큐먼트 생성
{
"name": "Jang",
"age": 23,
"gender": "male"
}
위의 코드가 인덱스를 생성하고 그 안에 도큐먼트를 생성하는 코드이며 조회, 삭제 등은 위에 있는 메소드를 이용하여 실행할 수 있다.
3.REST API 응답 코드
코드를 실행하게 되면 응답 코드를 돌려받게 되는데 코드에 따른 내용을 정리했다.
코드번호 | 상태 | 해결 방법 |
200,201 | 성공적으로 동작 | |
4xx | 클라이언트 에러 | 클라이언트에서 문제점 찾고 해결 |
404 | 요청한 리소스 없음 | 인덱스, 도큐먼트의 존재 유무 체크 |
405 | 요청 메소드를 지원하지 않음 | 문법오류를 체크해보기 |
429 | 요청과부화 | 재전송 , 노드 추가 조치 |
5xx | 서버 오류 | 엘라스틱 로그 확인 |
4.매핑
PUT index2
{
"mappings": {
"properties": {
"age":{"type": "short"}
}
}
}
매핑은 위의 코드와 같이 mappings, properties 안에 필드명과 필드 타입을 지정해주면 되고 일라스틱 서치의 데이터 타입은 다음 표와 같다.
텍스트 | text, keyword |
날짜 | date |
정수 | byte, short, integer, long |
실수 | scaled_float, half_float, double, float |
불린 | boolean |
IP 주소 | ip |
위치 정보 | geo-point, geo-shape |
일라스틱 서치의 기초적인 부분을 일단 정리해 보았다 일라스틱 서치를 처음 접하기도 하고 SQL과는 다른 문법을 사용하기 때문에 익숙해지기 위해서 많은 실습을 하면서 지식을 얻을 수 있도록 노력해봐야겠다.
'프로그래밍 > ELK' 카테고리의 다른 글
Elastic search 쿼리문 (0) | 2022.09.23 |
---|---|
[DOCKER] ELK Stack 환경 구축하기 (0) | 2022.09.06 |