본문 바로가기
ElasticSearch

ElasticSearch 문서 색인 조회

by Rainbound-IT 2022. 9. 1.
반응형

elasticsearch는 json 형태로 저장

 

 

curl -X PUT "localhost:9200/user/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"username": "alden.kang"
}
'

1. REST API

2. 문서 인덱스

3. 문서타입

4. 문서 ID

 

색인 - 인덱스 - 타입 - 스키마 순으로 조회 한다음에 저장함

동일한 형태가 아니면 에러 출력

 

 

 

 

 

조회

source에 내용 포함됨

curl -X GET "localhost:9200/user/_doc/1?pretty"

 

 

 

 

삭제

curl -X DELETE "localhost:9200/user/_doc/1?pretty"

 

 

삭제한거 조회시

 

 

 

인덱스 생성

curl -X PUT "localhost:9200/contents?pretty"

 

 

 

인덱스 조회

curl -s http://localhost:9200/_cat/indices?v

 

 

문서 색인

ubuntu@was01:~$ curl -X PUT "localhost:9200/contents/_doc/1?pretty" -H 'Content-Type:application/json' -d'
> {
>   "title": "How to use ElasticSearch",
>   "author": "test"
> }
> '

result를 보자

 

인덱스 똑같이 입력하고 내용 변경시 result 부분이 updated 로 바뀐다.

 

스키마 정보 확인

curl -s http://localhost:9200/contents/_mappings?pretty

 

필드 추가하여 동적으로 스키마 추가하는지 확인(rating 필드 추가)

curl -X PUT "localhost:9200/contents/_doc/2?pretty" -H 'Content-Type:application/json' -d'
{
  "title": "How to use Nginx",
  "author": "test, example",
  "rating": 5.0
}
'

 

확인

rating 필드 생성된거 확인됨

curl -s http://localhost:9200/contents/_mappings?pretty

 

필드에 다른 타입 입력시

에러가 발생.

스키마리스는 없는 스키마를 동적으로 만들수있다는거지

만든것을 자동으로 업데이트 하진 않는다는것.

curl -X PUT "localhost:9200/contents/_doc/3?pretty" -H 'Content-Type:application/json' -d'
{
  "title": "How to use Apache",
  "author": "test, example",
  "rating": "N/A"
}
'

 

 

 

 

삭제

curl -XDELETE 'http://localhost:9200/contents?pretty'

 

 

 

반응형

댓글