BLOG ARTICLE 엘라스틱서치 설치 | 1 ARTICLE FOUND

  1. 2016.07.09 엘라스틱서치, 플러그인 설치 (Elasticsearch & head plugin install)


이번엔 NoSQL 서브 디비로 각광 받고 있는 Elasticsearch 설치 및 가장 대표적인 플러그인인 


head 플러그인을 설치하는 법에 대해서 포스팅 하도록 하겠습니다.  


Elasticsearch는 Lucene 기반의 open source 프로젝트 이며,


동일한 Lucene base인 solr와 경쟁을 하고 있는 대표적인 NoSQL입니다.


우선 설치 및 참조를 위해 Elasticsearch 공식사이트에 접속합니다.



우측 상단에 downloads를 클릭하면 하단에 Elasticsearch, Logstach(log 파일관리 플러그인), 


Kibana(log파일 시각화 플러그인) 등 리스트가 보입니다.



Elasticsearch 다운링크에 들어가면 현재 최신버전은 2.3.4 버전이군요.





전 tar파일로 다운로드 받았습니다.



다운받은 파일의 압축을 풀어주고 Elasticsearch 경로를 터미널에서 들어가 줍니다.


그후 명령어로 bin/elasticsearch & 명령어로 elasticsearch를 실행시켜 줍니다.



다음과 같은 로그가 뜨면서 실행된 것을 알 수 있습니다. 참 쉽죠?ㅎㅎ




그럼 Elasticsearch의 시각화 도구인 head plugin설치를 위해서 


bin/plugin install mobz/elasticsearch-head


명령어를 입력해 줍니다. 

참고로 elasticsearch의 head 플러그인은 0. 1. 2. 5. 대의 각각 버전마다 

다르니 설치해서 사용하려는 버전에 맞는 명령어를 입력해 주셔야 합니다.

버전정보 확인 ->  https://github.com/mobz/elasticsearch-head



다음과 같이 설치가 완료되면 Elasticsearch를 재시작 해주어야 합니다. 윈도우 사용자의 경우 작업


관리자에서 꺼주시고, 터미널로 작업하실 경우 Elasticsearch가 실행중인 PID를 확인 후 종료하고 


처음과 같은 방법으로 다시 켜주시면 되겠습니다.




Elasticsearch 재시작이 완료되면 head 플러그인이 정상적으로 동작하는지 확인해 봅시다. 

사용하는 web browser를 켜고 http://localhost:9200/_plugin/head 에 접속합니다.

다음과 같은 화면이 뜨면 정상적으로 설치된 것 입니다.



 자 그럼 이제 데이터를 넣어보도록 하겠습니다.




전 터미널에서 다음의 코드를 통해 데이터를 넣었습니다.


curl -XPOST 'localhost:9200/culinary/developer/1' -d '

{

"name" : "culinarydeveloper",

"siteURL" : "culinarydeveloper.tistory.com",

"since" : "2016.01.01"

}'


쿼리 설명을 드리자면 


localhost:9200/ 뒤에 오는 curinary부분이 Elasticsearch의 index(데이터 베이스의 DB), 


developer 부분이 Elasticsearch의 type(데이터베이스의 table) 이고,


1부분은 indexing 시키는 document의 id값 입니다.

(데이터베이스의 프라이머리키, 고유 값 - 중복될 경우 데이터가 덮어씌워짐)


name, siteURL, since 부분 전체가 하나의 document이고 데이터베이스에서 컬럼부분, 


culinarydeveloper와 culinarydeveloper.tistory.com, 2016.01.01 부분이 데이터베이스의 하나의 


row라고 보시면 됩니다.


Elasticsearch는 데이터 입력 시, index와 type이 존재하지 않으면,


 자동으로 생성 후 indexing 하게 됩니다. 


이부분은 참 편리하지만 독이될 수 있는 양날의 검이라 생각됩니다. ㅎㅎ


index와 type을 생성하실때 특히 주의 하실점은 절대로 대문자를 허용하지 않는다는 점 입니다.


소문자로만 생성하셔야 합니다.



그럼 데이터가 정상적으로 들어갔는지 확인해 보도록 하겠습니다.


아래 그림을 보시면 culinary index에 size와 docs 부분이 변경된 것을 확인 하실 수 있습니다.



상단의 browser 탭을 클릭하면 index와 타입별로 상세한 정보를 확인 할 수 있습니다.


browser에서 조회를 하는 것은 전체적인 조회가 되지만 화면에 표시되는 양이 제한되기 때문에 


데이터가 많아질 경우엔 Structured Query 탭에서  조건을 선택 후 검색하시거나, 


Any Request 탭에서 쿼리를 통해서 조회가 가능합니다. 


물론 터미널상으로도 가능합니다^^. 쿼리생성을 위해서 google crome에서 


확장프로그램인 postman을 이용해서 쿼리를 작성하거나 요청 조회하는 것도 가능합니다.




좀더 세부적인 기능이나 설정은 다음 글에서 다루도록 하겠습니다.


이상으로 포스팅을 마치도록 하겠습니다.




Posted by Culinary developer

AND