2014-10-10 3 views
0

단어를 검색 할 때 검색해야하는 여러 컬렉션이 있습니다. 이러한 컬렉션은 단일 검색 컬렉션에 병합됩니다. 전체 텍스트 인 일부 필드와 텍스트 태그의 배열 인 일부 필드가 있습니다.이 태그는 여러 컨텍스트에서 가져옵니다.Mongo 검색 구조

mongo는 검색 당 하나의 인덱스 만 사용하고 compound index can only contain one array field이라는 것을 고려하십시오. 이 검색 구조의 일부 필드에 모든 태그를 세트에 넣으 려합니다.

내 질문 : 전체 텍스트 필드는 어떻습니까? 나는 단지 그것들을 연결해서 거대한 텍스트 필드로 추가해야합니까?

그냥 mongo alltogether를 건너 뛰고 다른 데이터베이스에 내 필드를 입력해야합니까? 나는 다음과 같은 결론이 몇 시간 동안 생산에 내 솔루션을 사용하는 데

+1

추천 (또는 것입니다 전체 텍스트 검색의 주요 목적이다 경우 응용 프로그램), 나는 탄성 검색 또는 solr과 같은 전문적인 전체 테스트 검색 엔진을 사용하는 것이 좋습니다 것입니다. 그러나 MongoDB에서는 [여러 텍스트 필드 색인] (http://docs.mongodb.org/manual/tutorial/create-text-index-on-multiple-fields/)을 사용할 수 있습니다. – wdberkeley

+0

차가움. 현재 mongo를 사용하고 최대한 빨리 다른 두 가지 옵션을 사용해보십시오. – FabioCosta

답변

0

: 심지어 대규모 데이터 세트에 대한 색인을위한 하나의 필드에있는 모든 배열을 유지

  • 충분하다;
  • 특수한 텍스트 엔진은 기술 스택을 증가 입력해도, 더 강력하고 확장 성이와 나는 복잡한 전체 텍스트 검색 기능이 필요하면 ElasticSearch