업데이트 2013년 10월 9일
Couchbase 2.2.0 및 Elastic Search 0.90.5와 함께 작동하도록 Elastic Search용 Couchbase 전송이 업데이트되었습니다. 아래의 세부 단계는 새로운 버전 번호를 반영하도록 업데이트되었습니다.
이제 다음 콘텐츠 앱에서 사용 가능
참조 http://www.couchbase.com/blog/announcing-release-couchbase-plug-elasticsearch
Couchbase Server 2.0은 분산 맵 축소 구현을 통해 강력한 인덱싱 및 쿼리 기능을 추가했습니다. 하지만 그 외에도 많은 애플리케이션, 특히 콘텐츠 애플리케이션에는 전체 텍스트 검색 기능도 필요합니다. 오늘 Elastic Search용 Couchbase 전송 플러그인의 개발자 프리뷰를 출시합니다. 이 플러그인은 Couchbase Server 2.0의 일부가 될 새로운 데이터 센터 간 복제 기능을 사용합니다. 이 새로운 전송을 사용하면 Couchbase와 ElasticSearch를 쉽게 시작할 수 있습니다. 이 블로그에서는 몇 분 안에 이 통합을 시작하고 실행하는 방법을 설명합니다.
시작하기
먼저 Couchbase 클러스터가 필요합니다. 여기서는 개발 머신에서 단일 인스턴스를 실행해도 괜찮습니다. 플랫폼에 적합한 패키지를 다운로드하여 설치하세요. Couchbase Server 2.0.0의 64비트 RPM 패키지를 사용하겠습니다:
설치 마법사를 진행하는 동안 모든 기본 설정을 사용할 수 있습니다. 하지만 아래 예시를 따라 '맥주 샘플' 샘플 버킷을 선택해야 합니다.
이제 ElasticSearch를 설치할 준비가 되었습니다. 현재 버전의 플러그인은 다음에서 작동합니다. ElasticSearch 버전 0.90.5. 이 파일을 다운로드하고 설치 파일의 압축을 풉니다.
http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.5.tar.gz
$ 타르 zxvf elasticsearch-0.90.5.tar.gz
이제 ElasticSearch 코어가 생겼으니 몇 가지 플러그인을 추가해 보겠습니다.
첫 번째는 "head"라고 합니다. 이것은 ElasticSearch에 기본 웹 UI를 제공하여 무슨 일이 일어나고 있는지 더 쉽게 확인할 수 있도록 해줍니다. 설치는 간단합니다:
$ 빈/플러그인 -설치 mobz/elasticsearch-head
-> mobz/elasticsearch-head 설치...
https://github.com/mobz/elasticsearch-head/zipball/master... 시도 중(사이트 플러그인 가정)
..................................... 다운로드 완료
사이트 플러그인으로 식별되어 _사이트 구조로 이동 중 ...
설치된 헤드
이제 Couchbase 플러그인을 설치할 준비가 되었습니다. 설치는 다른 플러그인과 마찬가지로 간단합니다.
-> 전송 카우치베이스 설치...
시도 중 http://packages.couchbase.com.s3.amazonaws.com/releases/elastic-search-adapter/1.2.0/elasticsearch-transport-couchbase-1.2.0.zip...
다운로드 ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
설치된 전송 카우치베이스
이제 플러그인이 설치되었으므로 Couchbase 전송의 비밀번호를 설정해야 합니다.
이렇게 하면 ElasticSearch가 시작되고 백그라운드로 전환됩니다.
ElasticSearch 구성
이제 플러그인이 설치되었으므로 Couchbase로 작업할 때 좋은 기본값을 설정하는 인덱스 템플릿을 설치해야 합니다. 이러한 모든 설정은 사용자 고유의 템플릿으로 재정의하거나 인덱스별로 업데이트할 수 있습니다.
{"확인":true,"승인됨":true}
마지막으로, 검색하려는 각 Couchbase 버킷에 대해 ElasticSearch에서 해당 인덱스를 생성해야 합니다.
{"확인":true,"승인됨":true}
이제 Couchbase 측을 구성할 준비가 되었습니다.
카우치베이스 서버 구성
ElasticSearch용 Couchbase 플러그인은 Couchbase Server 2.0에 도입된 XDCR(데이터센터 간 복제) 기능을 활용하여 작동합니다. 첫 번째 단계는 UI에서 복제 탭으로 이동하는 것입니다. 이제 클러스터 참조 만들기 버튼을 클릭합니다. 이 클러스터의 이름을 지정합니다. ElasticSearch 를 클릭하고 주소를 가리킵니다. 127.0.0.1:9091 (이 플러그인에서 사용하는 기본 포트)를 입력합니다. 사용자 아이디 필드는 관리자이고 비밀번호 필드는 이전 섹션에서 구성한 값과 일치해야 합니다.
마지막으로 복제를 시작하려면 복제 생성 버튼을 클릭합니다. 버튼을 선택합니다. 맥주 샘플 버킷, 원격 클러스터 ElasticSearch 를 클릭하고 원격 버킷의 이름을 입력합니다. 맥주 샘플.
를 누르면 복제 버튼을 누르면 데이터 전송이 시작됩니다.
통합 완료
다음을 방문하여 이전 진행 상황을 확인해 보겠습니다. http://127.0.0.1:9200/_plugin/head/
문서 수는 ElasticSearch에서 증가하며 궁극적으로 Couchbase에서 보는 문서 수보다 더 많아질 것입니다. 이것은 정상이며 복제 검사점 문서도 저장하고 있기 때문에 발생하는 현상입니다. 이제 데이터가 제대로 색인되었는지 확인하기 위해 간단한 검색을 실행해 보겠습니다.
브라우저에서 다음 URL을 열어 제가 가장 좋아하는 맥주 중 하나를 검색해 보겠습니다: http://localhost:9200/beer-sample/_search?q=duchesse
아래와 같은 JSON 출력이 표시됩니다:
검색이 정확히 하나의 문서와 일치하는 것을 볼 수 있습니다. 하지만 소스 섹션에는 맥주 문서의 내용이 표시되지 않습니다. 이는 의도적으로 인덱스 템플릿을 설치할 때 문서의 전체 본문 저장을 비활성화했기 때문입니다. 그 이유는 간단합니다. 이미 Couchbase에서 문서에 엄청나게 빠르게 액세스할 수 있기 때문입니다. Couchbase UI로 돌아가서 검색이 반환한 문서를 살펴보겠습니다.
Couchbase UI에서 데이터 버킷 탭으로 이동한 다음 맥주 샘플 버킷 옆에 있는 문서 버튼을 클릭합니다. 문서 ID 필드에 검색에서 반환된 ID인 110fa6d6b2를 붙여넣습니다.
성공! 우리가 찾던 맥주입니다.
다음 단계
이 시점에서 Couchbase 클러스터가 ElasticSearch 클러스터에 데이터를 지속적으로 복제하고 있습니다. 아주 기본적인 ElasticSearch 쿼리만 보여드렸습니다. 훨씬 더 복잡한 쿼리도 가능합니다.
자세한 내용을 확인하세요:
- ElasticSearch용 Couchbase 플러그인 다운로드
- 깃허브의 ElasticSearch용 Couchbase 플러그인
- ElasticSearch 쿼리에 대한 자세한 내용은 다음을 참조하세요. ElasticSearch 가이드
"UI 및 클릭 시나리오"없이 CLI 또는 API를 사용하여 CB + ES 설정의 자동 프로비저닝을 얻기 위해 이 구성을 수행할 수 있나요?
예, 이 모든 작업은 \"UI 및 클릭\" 없이도 수행할 수 있다고 생각합니다. 초기 Couchbase 설정에 대해서는 잘 모르겠으니 Couchbase 포럼에서 문의하시기 바랍니다: https://forums.couchbase.com/
그 이후에는 여기에 설명된 couchbase-cli 명령을 사용하여 Elasticsearch용 XDCR 설정을 수행할 수 있습니다:
http://docs.couchbase.com/admi…
xdcr-setup 및 xdcr-replicate 명령을 참조하세요.
모든 Elasticsearch 작업은 REST API를 통해 수행할 수 있으며, 자세한 내용은 해당 설명서를 참조해야 합니다.
답변 감사합니다, 저도 API를 찾았습니다. http://docs.couchbase.com/admi…
[커넥터 페이지에서 최신 버전의 전체 텍스트 검색 플러그인을 다운로드하고, [...] 설치 및 사용 방법에 대한 자세한 단계는 마티 슬로흐의 업데이트된 블로그 게시물을 읽어보세요.]
[...] 애플리케이션의 전체 텍스트 검색 요구 사항을 처리하기 위해 ElasticSearch가 선택되었습니다. ElasticSearch는 풍부한 쿼리 기능과 뛰어난 클러스터링 기능을 결합하여 Couchbase와 매우 잘 어울립니다. Couchbase Server와 ElasticSearch 간의 통합은 Couchbase Transport 플러그인을 통해 제공되었습니다. 이 전송은 Couchbase Server 2.0의 데이터 센터 간 복제 기능을 사용하여 모든 문서 변형을 ElasticSearch 인덱스로 안정적으로 전송합니다(여기에서 자세히 알아보기). [...]