2013-02-11 4 views
11

나는 mongodb와 node.js에 상당히 새로운 것이지만, 최근 내 웹 사이트에 전체 텍스트 검색을 추가해야 할 시점에 이르기까지 모든 것이 잘 작동하도록했습니다. 내 연구에서 나는 Elasticsearch가 잘 맞는 것을 알았지 만, node.js와 mongodb를 사용하는 방법을 정확히 이해할 수 없었다. 현재 Heroku와 MongoLab을 사용하여 응용 프로그램을 호스팅하고 있습니다. 여기에 내 질문이있다.MongoDb 및 node.js를 사용하여 탄성 검색을 수행하는 방법은 무엇입니까?

  1. 어떻게 Elasticsearch를 호스팅합니까?
  2. 강 찾기를 사용하여 내 모든 mongo 데이터를 사용할 수있게하려면 어떻게해야합니까? 아니면 수동으로 모든 데이터를 삽입하고 삭제합니까?

    나는 이걸 river이라고 발견했는데, 어떻게 자동으로 이런 일이 일어나고, 어디에서 호스트해야하는지 잘 모르겠습니다.

  3. node.js에서 Elasticsearch를 어떻게 쿼리합니까? 이것을 허용하는 패키지가 있습니까?

편집 :

질문이 내가 고민하고 정말로이다. 또한 주제 1과 3을 주제에 익숙하지 않은 사용자를 돕기 위해 포함 시켰습니다. 에 하나

+1

위의 내용은 MongoDB와 함께 ElasticSearch 사용 설명서의 첫 번째 페이지를 읽으면 쉽게 답변을 얻을 수있는 질문과 같습니다. 나는 "Elasticsearch를 어떻게 호스트합니까?"라고 말합니다 ... – Sammaye

+0

네 질문 2가 아마도 대답하기 어려운 유일한 사람 일 것입니다. 저는 다른 두 사람이 시작하기를 원할 때 도움을주기 위해 다른 두 사람을 추가했습니다. –

+0

대용량 EC2 인스턴스 + MongoDB 2.4.9 복제본에서 ElasticSearch 0.9.11을 사용합니다. 두 개의 대용량 EC2 인스턴스에 세트되어 환상적입니다. 많은 인서트, 많은 업데이트 및 초당 많은 삭제가 있으며 MongoDB-river만큼 부드럽고 매끄럽게 처리 할 수는 없습니다. 그것은 당신의 oplogs 보입니다. Btw, 수동?! 농담하는거야?MongoDB에 앉아있는 문서가 꽤 정적이라면 ElasticSearch에 색인을 자동 삽입하기 만하면됩니다. 강은 이러한 거래를 자동화하는 데 도움이됩니다. – Maziyar

답변

8

1) 자신의 서버/VM /의 생성 후에는 인덱스에 기존의 다음 데이터와 인덱스 새로운 데이터를 스크립트를 생성 할 수 있습니다 어떤 .. 또는 호스팅 서비스 등)

2 https://searchbox.io/로, 강을 사용하여 현재 데이터베이스의 색인을 생성 할 수 있습니다.

3) ElasticSearch은 간단한 HTTP API는, 당신은 'HTTP'모듈을 사용하여 자신의 요청을 만들거나 당신은 또한 https://github.com/phillro/node-elasticsearch-client

0
  1. 당신은 자신의 서버에 호스팅하거나 elasticsearch 서비스 AWS를 사용하거나 elasticsearch에서 제공하는 탄성 클라우드를 사용할 수 있습니다 확인하십시오.
  2. 다음 세 가지 해결책 중 하나를 시도해보십시오. - i) 몽고 스틱을 사용해보십시오. NPM 패키지 ii) mongo-connector를 사용하십시오. iii) elasticsearch에 데이터 인덱싱을위한 python 스크립트
  3. elasticsearch-js. 자바 스크립트 클라이언트 라이브러리
관련 문제