2016-09-13 3 views
1

나는 텍스트 검색을 구현하고있는 둘 사이에 가능한 접근 방식을 선택해야 할 필요가 : -가능 (탄성 검색 + MongoDB를) 또는 MongoDB를 텍스트 인덱스 내 프로젝트에서

  1. MongoDB 데이터베이스를 ElasticSearch와 동기화합니다.

  2. 문자 검색과 같은 Elastic Search가있는 MongoDB의 자체 텍스트 색인.

나는 각각의 경우의 장점을 제공하지만, 어떤 방법 다른 것보다 더 나은 또는 무엇 두 가지 방법과의 비교를 제공하는 모든 관련 문서를 찾을 수없는 많은 기사를 겪었 특정 접근법에 대한 제한

참고 : - express.js와 함께 Node.js를 사용하고 있습니다.

답변

0

MongoDB는 범용 데이터베이스이며 Elasticsearch는 Lucene이 지원하는 분산 텍스트 검색 엔진입니다. MongoDB에 데이터를 저장하고 Elasticsearch를 독점적으로 '전체 텍스트 검색 기능'으로 사용할 수 있습니다. 귀하의 유스 케이스에 따르면, 당신은 오직 mongo 데이터 필드의 서브 세트를 탄력성있게 보낼 수 있습니다.

  1. mongodb와 Elasticsearch의 동기화는 mongoosastic으로 수행 할 수 있습니다. mongo로 지속함으로써 데이터 안전 문제를 해결하고 elasticsearch를 사용하여 검색 속도를 높일 수 있습니다. 또한 elasticsearch.py ​​패키지를 사용하여 파이썬 스크립트를 사용하여 mongo와 elasticsearch를 동기화 할 수 있습니다.
  2. Mongodb 검색이 elasticsearch와 비교할 때 매우 느립니다. 또한 mongodb의 색인 생성은 더 많은 시간과 자원을 필요로합니다.