ElasticSearch - Plugin 문서 원본 보기
←
ElasticSearch - Plugin
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
[[ElasticSearch|ElasticSearch]]의 Plugin을 정리 합니다. == Plugin 구조 == <span style="color:#008000;">'''<span style="font-size: larger;">Plugin 설치 프로그램</span>'''</span> 설치 프로그램 : org.elasticsearch.plugins.PluginManager {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(241, 241, 241);" rowspan="1" colspan="2" | 옵션<br/> | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | style="text-align: center;" | -u | style="text-align: center;" | -url ~ | Plugin 설치 파일 (~.zip) 다운로드 URL<br/> |- | style="text-align: center;" | -i | style="text-align: center;" | -install ~ | 설치할 Plugin 이름<br/>plugins/Plugin_이름/ 폴더에 설치됨 <span style="line-height: 20.7999992370605px;">[username/]pluginname[/version]</span> *user : username 사용 *pluginname : pluginname이 "elasticsearch-" 또는 "es-"로 시작하면 이 부분을 삭제한 후 사용 *repo : 원본 pluginname 사용 |- | style="text-align: center;" | -t | style="text-align: center;" | -timeout ~ | 타임아웃 설정 (30s, 1m, 1h, ...) |- | style="text-align: center;" | -r | style="text-align: center;" | -remove ~ | 삭제할 Plugin 이름 |- | style="text-align: center;" | -l | style="text-align: center;" | -list | 설치된 Plugin 목록 표시 |- | style="text-align: center;" | -v | style="text-align: center;" | -verbose | 상세 정보 표시 |- | style="text-align: center;" | -s | style="text-align: center;" | -silent | Silent 모드로 실행 |- | style="text-align: center;" | -h | style="text-align: center;" | -help | 도움말 표시 |} <span style="color:#008000;">'''<span style="font-size:larger;">Plugin 설치 파일 다운로드 위치</span>'''</span> <ul style="line-height: 20.7999992370605px;"> <li>"[https://github.com/ https://github.com/]" + user + "/" + repo + "/archive/master.zip"</li> <li>"[http://download.elasticsearch.org/ http://download.elasticsearch.org/]" + user + "/" + repo + "/" + repo + "-" + version + ".zip"</li> <li>"[http://search.maven.org/remotecontent?filepath= http://search.maven.org/remotecontent?filepath=]" + user.replace('.', '/') + "/" + repo + "/" + version + "/" + repo + "-" + version + ".zip"</li> <li>"[https://oss.sonatype.org/service/local/repositories/releases/content/ https://oss.sonatype.org/service/local/repositories/releases/content/]" + user.replace('.', '/') + "/" + repo + "/" + version + "/" + repo + "-" + version + ".zip"</li> <li>"[https://github.com/ https://github.com/]" + user + "/" + repo + "/archive/" + version + ".zip"</li> </ul> <span style="color:#008000;">'''<span style="font-size:larger;">Plugin 설치 파일 폴더 구조</span>'''</span> ~.zip 파일 {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(241, 241, 241);" rowspan="1" colspan="2" | 폴더<br/> | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | 플러그인명-버전/ | <br/> | <ul style="line-height: 20.7999992370605px;"> <li>기본적으로 모든 파일은 plugins/플러그인명/ 폴더에 배포 됩니다.</li> <li>bin/, config/, _site/ 폴더가 없고 *.class/.jar 파일이 없는 경우, plugins/플러그인명/_site/ 폴더에 배포 됩니다. *.class/.jar 파일이 있을 경우, plugins/플러그인명/ 폴더에 배포 됩니다.</li> |- | <br/> | _site/ | *index.html : 시작 페이지 |- | <br/> | bin/ | *bin/플러그인명/ 폴더에 배포 됩니다. |- | <br/> | config/ | *config/플러그인명/ 폴더에 배포 됩니다. |- | <br/> | _dict/ | <br/> |} == Site Plugin == plugins/head/_site/ 폴더가 생성 됩니다. [http://node111.jopenbusiness.com:9200/_plugin/head/ http://node111.jopenbusiness.com:9200/_plugin/head/] URL로 접속할 수 있습니다. == JVM Plugin == jar 파일로 JVM Plugin을 구성 합니다. <span style="color:#008000;">'''<span style="font-size:large;">es-plugin.properties 파일</span>'''</span> *plugin=org.elasticsearch.plugin.analysis.kr.AnalysisKoreanPlugin : Plugin 등록 파일 **org.elasticsearch.plugins.AbstractPlugin 파일을 구현한 class *version=~ : Plugin 버전 *description=~ : Plugin 설명 *lucene=~ : Lucene 버전 <span style="color:#008000;">'''<span style="font-size:larger;">Plugin 등록 파일 구성</span>'''</span> {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(241, 241, 241);" | 종류 | style="text-align: center; background-color: rgb(241, 241, 241);" | 관련 class | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | style="text-align: center;" | name() | style="text-align: center;" | <br/> | Plugin 이름 |- | style="text-align: center;" | description() | style="text-align: center;" | <br/> | Plugin 설명 |- | style="text-align: center;" | modules() | style="text-align: center;" | Module | Node level modules<br/><span style="line-height: 20.7999992370605px;">org.elasticsearch.plugins.PluginsModule</span><br/> |- | style="text-align: center;" | indexModules() | style="text-align: center;" | Module | Per index modules<br/>org.elasticsearch.plugins.IndexPluginsModule<br/> |- | style="text-align: center;" | shardModules() | style="text-align: center;" | Module | Per index shard module<br/><span style="line-height: 20.7999992370605px;">org.elasticsearch.plugins.ShardPluginsModule</span><br/> |- | style="text-align: center;" | services() | style="text-align: center;" | LifecycleComponent | Node level services<br/> |- | style="text-align: center;" | indexServices() | style="text-align: center;" | CloseableIndexComponent | Per index services |- | style="text-align: center;" | shardServices() | style="text-align: center;" | <span style="line-height: 20.7999992370605px; text-align: center;">CloseableIndexComponent</span><br/> | Per index shard services |- | style="text-align: center;" | processModule() | style="text-align: center;" | Module | <br/> |- | style="text-align: center;" | additionalSettings() | style="text-align: center;" | <br/> | Plugin이 로딩될 때 추가되는 node 설정 |- | style="text-align: center;" | <span style="color:#0000FF;">onModule(AnyModule module)</span><br/> | style="text-align: center;" | <br/> | 모듈이 로딩될 때, 실행되는 함수<br/> |} 참고 문헌 *[http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/ http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/] == 유용한 Plugin == {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(241, 241, 241);" | 종류 | style="text-align: center; background-color: rgb(241, 241, 241);" | Plugin | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | style="text-align: center;" | Site | style="text-align: center;" | Korean Analytis 한글 형태소 분석기 | plugin -install chanil1218/elasticsearch-analysis-korean/1.3.0<br/>또는<br/>plugin -url [https://dl-web.dropbox.com/spa/grpekzky9x5y6mc/elastic-analysis-korean/public/elasticsearch-analysis-korean-1.3.0.zip https://dl-web.dropbox.com/spa/grpekzky9x5y6mc/elastic-analysis-korean/public/elasticsearch-analysis-korean-1.3.0.zip] -install analysis-korean |- | style="text-align: center;" | Site | style="text-align: center;" | Head Plugin | <span style="line-height: 20.7999992370605px;">인덱스와 샤드, 도큐먼트에 대한 관리 및 상태 점검</span><br/><span style="line-height: 20.7999992370605px;">기본적인 검색 질의 기능 제공</span><br/>plugin -install mobz/elasticsearch-head<br/>[http://node111.jopenbusiness.com:9200/_plugin/head/ http://node111.jopenbusiness.com:9200/_plugin/head/]<br/> |- | style="text-align: center;" | JVM/Site | style="text-align: center;" | Marvel Plugin | <span style="line-height: 20.7999992370605px;">노드에 대한 stats 정보를 인덱스에 색인하여 검색과 대시보드 형태로 제공</span><br/>[http://www.jopenbusiness.com/mediawiki/Logstash Logstash]<span style="line-height: 20.7999992370605px;">와 </span>[http://www.jopenbusiness.com/mediawiki/Kibana Kibana]<span style="line-height: 20.7999992370605px;"> 기반으로 구성</span><br/>plugin -i elasticsearch/marvel/latest<br/>[http://node111.jopenbusiness.com:9200/_plugin/marvel/ http://node111.jopenbusiness.com:9200/_plugin/marvel/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Bigdesk Plugin | <span style="line-height: 20.7999992370605px;">실시간으로 서버와 검색 엔진의 상태, 자원 현황을 실시간 모니터링</span><br/>plugin -install lukas-vlcek/bigdesk<br/>[http://node111.jopenbusiness.com:9200/_plugin/bigdesk/ http://node111.jopenbusiness.com:9200/_plugin/bigdesk/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Sense | <span style="line-height: 20.7999992370605px;">REST API를 실행하고 결과를 확인</span><br/>plugin -install bleskes/sense<br/>[http://node111.jopenbusiness.com:9200/_plugin/sense/ http://node111.jopenbusiness.com:9200/_plugin/sense/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Elasticsearch HQ<br/> | <span style="line-height: 20.7999992370605px;">head와 bigdesk의 기능이 합쳐진 plugin</span><br/>plugin -install royrusso/elasticsearch-HQ<br/>[http://node111.jopenbusiness.com:9200/_plugin/HQ/ http://node111.jopenbusiness.com:9200/_plugin/HQ/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Hammer Plugin<br/> | <span style="line-height: 20.7999992370605px;">검색 질의와 결과를 제공</span><br/>plugin -install andrewvc/elastic-hammer<br/>[http://node111.jopenbusiness.com:9200/_plugin/elastic-hammer/ http://node111.jopenbusiness.com:9200/_plugin/elastic-hammer/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Inquisitor Plugin<br/> | <span style="line-height: 20.7999992370605px;">검색 질의와 결과를 제공</span><br/><span style="line-height: 20.7999992370605px;">형태소 분석 기능 제공</span><br/>plugin -install polyfractal/elasticsearch-inquisitor<br/>[http://node111.jopenbusiness.com:9200/_plugin/inquisitor/ http://node111.jopenbusiness.com:9200/_plugin/inquisitor/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | Paramedic Plugin<br/> | <span style="line-height: 20.7999992370605px;">실시간 서버 모니터링 (bigdesk와 유사)</span><br/>plugin -install karmi/elasticsearch-paramedic<br/>[http://node111.jopenbusiness.com:9200/_plugin/paramedic/ http://node111.jopenbusiness.com:9200/_plugin/paramedic/]<br/> |- | style="text-align: center;" | Site | style="text-align: center;" | SegmentSpy Plugin<br/> | <span style="line-height: 20.7999992370605px;">인덱스와 샤드 정보 제공</span><br/>plugin -install polyfractal/elasticsearch-segmentspy<br/>[http://node111.jopenbusiness.com:9200/_plugin/segmentspy/ http://node111.jopenbusiness.com:9200/_plugin/segmentspy/]<br/> |} == 한글 형태소 분석기 Plugin == [https://github.com/chanil1218/elasticsearch-analysis-korean Korean Analysis for ElasticSearch (http://github.com/chanil1218/elasticsearch-analysis-korean)] 사이트에서 한글 형태소 분석기 Plugin을 설치 합니다. ElasticSearch용 한글 형태소 분석기 Plugin은 "루씬 한글분석기 오픈소스 프로젝트"를 가져와 작성이 되었습니다. 루씬 한글분석기 오픈소스 프로젝트 *카페 : [http://cafe.naver.com/korlucene http://cafe.naver.com/korlucene] *SourceForge : [http://sourceforge.net/projects/lucenekorean http://sourceforge.net/projects/lucenekorean] *SVN : [https://lucenekorean.svn.sourceforge.net/svnroot/lucenekorean https://lucenekorean.svn.sourceforge.net/svnroot/lucenekorean] *CVS : d:pserver:anonymous@lucenekorean.cvs.sourceforge.net:/cvsroot/lucenekorean <span style="color:#008000;"><span style="font-size:larger;">'''한글 형태소 분석기 Plugin 설치'''</span></span> {| cellspacing="1" cellpadding="1" style="font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; line-height: 20.7999992370605px; width: 100%;" |- | style="background-color: rgb(241, 241, 241);" | bin/plugin -install chanil1218/elasticsearch-analysis-korean/1.3.0 만일 위 명령어로 설치시 오류가 발생하면 아래와 명령어로 설치를 다시 진행 합니다.<br/>bin/plugin -url [https://dl-web.dropbox.com/spa/grpekzky9x5y6mc/elastic-analysis-korean/public/elasticsearch-analysis-korean-1.3.0.zip https://dl-web.dropbox.com/spa/grpekzky9x5y6mc/elastic-analysis-korean/public/elasticsearch-analysis-korean-1.3.0.zip] -install analysis-korean |} 설치가 정상적으로 완료되면 plugins/analysis-korean/elasticsearch-analysis-korean-1.3.0.jar 파일을 확인할 수 있습니다. ---- *설치 후 확인 :*동작 확인 ::*korea 인덱스 삭제 curl -XDELETE 'node201.hadoop.com:9200/korea?pretty' ::*korea 인덱스 생성 #curl -XDELETE 'node201.hadoop.com:9200/korea?pretty' curl -XPUT 'node201.hadoop.com:9200/korea?pretty' -d '{ "settings": { "index": { "analysis": { "analyzer": { "kr_analyzer": { "type": "org.elasticsearch.index.analysis.KoreanAnalyzerProvider", "tokenizer": "KoreanTokenizer", "filter": [ "trim", "lowercase", "KoreanFilter" ] } } } } } }' ::*KoreanAnalyzer 동작 확인 ### curl -XGET 'node201.hadoop.com:9200/korea/_analyze?pretty&analyzer=kr_analyzer&text=이전 글에서 ElasticSearch와 Arirang 형태소 분석기를 살펴 보았습니다.' curl -XGET 'node201.hadoop.com:9200/korea/_analyze?pretty&analyzer=kr_analyzer&text=%EC%9D%B4%EC%A0%84%20%EA%B8%80%EC%97%90%EC%84%9C%20ElasticSearch%EC%99%80%20Arirang%20%ED%98%95%ED%83%9C%EC%86%8C%20%EB%B6%84%EC%84%9D%EA%B8%B0%EB%A5%BC%20%EC%82%B4%ED%8E%B4%20%EB%B3%B4%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4.' [http://node201.hadoop.com:9200/korea/_analyze?pretty&analyzer=kr_analyzer&text=이전%20글에서%20ElasticSearch와%20Arirang%20형태소%20분석기를%20살펴%20보았습니다 http://node201.hadoop.com:9200/korea/_analyze?pretty&analyzer=kr_analyzer&text=이전%20글에서%20ElasticSearch와%20Arirang%20형태소%20분석기를%20살펴%20보았습니다]. *elasticsearch-analysis-korean-1.3.0.jar 파일 구조 :*es-plugin.properties plugin=org.elasticsearch.plugin.analysis.kr.AnalysisKoreanPlugin :*packages org.apache.lucene.analysis.kr dic/ KoreanAnalyzer.java KoreanFilter.java KoreanTokenizer.java org.apache.solr.analysis.kr KoreanFilterFactory.java KoreanTokenizerFactory org.elasticsearch.index.analysis KoreanAnalysisBinderProcessor.java KoreanAnalyzerProvider.java KoreanFilterFactory.java KoreanTokenizerFactory.java org.elasticsearch.plugin.analysis.kr AnalysisKoreanPlugin.java *프로그램 호출 구조 :*AnalysisKoreanPlugin.java : AnalysisModule로 KoreanAnalysisBinderProcessor 등록 :*KoreanAnalysisBinderProcessor.java : Analyzer, Tokenizer, Filter 등록 ::*KoreanAnalyzerProvider.java (kr_analyzer) -> KoreanAnalyzer ::*KoreanTokenizerFactory.java (kr_tokenizer) -> KoreanTokenizer ::*KoreanFilterFactory.java (kr_filter) -> KoreanFilter == 참고 문헌 == *[[ElasticSearch|ElasticSearch]] [[Category:Search|Category:Search]][[Category:BigData]]
ElasticSearch - Plugin
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보