책 보고 처음 작업하는것이다. 내용이 불만족스럽지만 일단 정리먼저..
전체 구조를 보면
elasticsearch -> couchdb에 주기적으로 폴링한다. elasticsearch index 생성은 couchdb에 있는 http://localhost:5982/dbname/_change의 내용을 가지고 만든다.
1. elasticsearch, couchdb 설치.. <-- 다른데 많이 있으니 pass
2. plugin 설치
elasticsearch에서 제공해주는 river를 이용한다.
홈페이지 : https://github.com/elasticsearch/elasticsearch-river-couchdb
설치방법 elasticsearch/bin/plugin -install elasticsearch/elasticsearch-river-couchdb/2.4.0
3. couchdb에 db 생성
curl -XPUT http://localhost:5984/my_couch_db
4. river문서 생성
curl -XPUT "http://localhost:9200/_river/kangcom_idx/_meta" -d "{
"type" : "couchdb",
"couchdb" : {
"host" : "192.168.0.29",
"port" : 5984,
"db" : "my_kangcom",
"last_seq": "20000000",
"filter" : null}
}"
위 문서에서 참고할 것은 last_seq이다.
couchdb의 _change를 참고할 때 last_seq 하나만 가지고 elasticsearch에서 index를 생성한다.
이 때 문제점은 기존에 있는 database의 내용은 index가 생성이 되지 않는다.
즉 위 문서를(river) 생성한 시점 이후부터 couchdb에 변경된 내용만 index가 된다.
이러게 하면 기본적으로 couchdb와 elasticsearch가 연동이 된다.
db이름이 elasticsearch의 indexing 이름이 된다.
5. mapping 확인
couchdb에 생성한 DB(my_couch_db)에 데이터를 입력한 후 mapping를 확인해본다.
river plugin에서 기본값은 dynamic이다. 즉 자동으로 생성이 된다.
이 값을 바꿀 수 있는데. 일단 패스.
명령어 : curl localhost:9200/my_couch_db/_mapping?pretty
6.search 하기.
명령어 : curl localhost:9200/my_couch_db/_search?q="_rev":"3-fe5796105bf143"
7. 기타 명령어
curl -XDELETE http://localhost:9200/my_couch_db/my_couch_db/_mapping
8. plugin
gui : plugin --install jettro/elasticsearch-gui
HQ : plugin -install royrusso/elasticsearch-HQ
HEAD: plugin -install mobz/elasticsearch-head
참고할 사항
CURL 을 윈도우에서 사용할 경우.
curl -XPUT "localhost:9200/_river/my_couv/_meta" -d "{ \"type\" : \"couchdb\", ~~}"
위처첨 한 줄로 만들고 실행해야 한다.
그리고 "{~~~\"~~}" "를 \"로 변경해줘야 한다. {} 밖의 " 는 그냥 둔다.
ex)
curl -XPUT "localhost:9200/_river/my_couchdb_riv/_meta" -d "{
\"type\" : \"couchdb\",
\"couchdb\" : {
\"host\" : \"192.168.0.29\",
\"port\" : 5984,
\"db\" : \"my_kangcom\",
\"filter\" : null
}"
'나는개발자다' 카테고리의 다른 글
phonegap으로 안드로이드 push 개발하기 ( client 부분 ) (1) | 2014.12.06 |
---|---|
phonegap으로 안드로이드 빌드하기 (0) | 2014.12.06 |
phonegap 설치하기 (0) | 2014.12.06 |
elasticsearch couchdb를 river로 연동할 때 mapping 문제. (0) | 2014.11.04 |
ubuntu에 oracle java 설치 방법 ( apt-get 이용 ) (0) | 2014.10.15 |