IT일반/엘라스틱서치
Elastic Search (엘라스틱 서치) 강의 강좌 - 설치 및 테스트 데이터 입력 및 검색
xavi2019
2019. 7. 19. 09:34
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 을 써 보면