본문 바로가기
IT일반/엘라스틱서치

Elastic Search (엘라스틱 서치) 강의 강좌 - 설치 및 테스트 데이터 입력 및 검색

by xavi2019 2019. 7. 19.

Mac OS 기준

 

 

특징

 

엘라스틱 서치는 자바로 개발된 오픈소스 검색엔진인 아파치 루씬을 이용해서 만든 검색 솔루션이다.

(아파치 루씬은 라이브러리 형태이므로 자체로서 할 수 있는 것은 많지 않다.)

 

 

다운로드 및 설치

https://www.elastic.co/kr/downloads/elasticsearch

 

엘라스틱 서치 실행(데몬 띄우기)

 

다운로드 후 압축을 풀고, 터미널에서 아래와 같이 실행

bin/elasticsearch

-d, -p 옵션이 있음

-d: 백그라운드로 실행

-p: 프로세스 ID를 파일로 저장. (start.sh, stop.sh 등 쉘스크립트 만들어 사용하면 편함)

 

 

 

실행중인지 확인하는 법

curl -X GET http://localhost:9200/

 

 

검색 실습

 

아래 명령을 차례대로 터미널에서 실행하여 데이터 입력(PUT)

curl -XPUT 'http://localhost:9200/twitter/_doc/1?pretty' -H 'Content-Type: application/json' -d '
{
    "user": "kimchy",
    "post_date": "2018-11-15T13:12:00",
    "message": "김치가 맛있나요?"
}'

curl -XPUT 'http://localhost:9200/twitter/_doc/2?pretty' -H 'Content-Type: application/json' -d '
{
    "user": "kimchy",
    "post_date": "2018-11-15T14:12:12",
    "message": "김치는 건강에 좋은가요?"
}'

curl -XPUT 'http://localhost:9200/twitter/_doc/3?pretty' -H 'Content-Type: application/json' -d '
{
    "user": "elastic",
    "post_date": "2019-01-15T01:46:38",
    "message": "김치가 미국에서 인기인가요?"
}'

 

데이터 입력 결과

 

 

입력된 데이터 확인 방법 (GET)

curl -XGET 'http://localhost:9200/twitter/_doc/1?pretty=true'
curl -XGET 'http://localhost:9200/twitter/_doc/2?pretty=true'
curl -XGET 'http://localhost:9200/twitter/_doc/3?pretty=true'

입력된 데이터 결과

 

 

검색하기

URL로 검색

curl -XGET 'http://localhost:9200/twitter/_search?q=user:kimchy&pretty=true'

user 가 kimchy 인 데이터 검색하기.

아래와 같이 2건의 결과가 나온다.

 

 

 

JSON query 으로 검색하기 

curl -XGET 'http://localhost:9200/twitter/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
    "query" : {
        "match" : { "user": "kimchy" }
    }
}'

같은 결과가 나옵니다.

 

 

 

와일드카드 검색하기 

curl -XGET 'http://localhost:9200/twitter/_search?pretty=true' -H 'Content-Type: application/json' -d '
{
    "query" : {
        "wildcard" : { "message": "*김*" }
    }
}'

message 에 '김'이 들어간 문서 찾기

 

 

조금 더 편리하게

 

curl 대신 postman 을 써 보면

 

 

댓글