몽고디비 - Search

00_8_3·2023년 5월 2일
0

mongo

목록 보기
1/1

검색엔진

  • MySQL

match...against 를 사용하여 full text search 구현.
https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html

  • 엘라스틱 서치
  • MongoDB

Atlas에서 지원
local mongoDB에서 TEXT 데이터 타입 및 인덱스를 사용하여 Full Text 검색엔진을 지원

몽고 아틀라스 Search

로컬에 설치하는 몽고디비가 아닌 클라우드에서 사용하느 Atlas 사용.

몽고의 검색엔진 구현 방법은 두가지입니다.

순서

Database - Browse Collections - Search - create index - Visuor Editor -
인덱스 이름 설정 + 적용할 컬렉션 선택 - Refine your index - 완료

Search 탭에서 적용된 Search Index를 확인 가능하고
인덱스의 Query 버튼을 통해 테스트가 가능하다.

[
  {
    $search: {
      index: "a_few_fields",
      text: {
        query: "<query>", // 찾으려는 검색어
        path: "item", // 필드 명
        "fuzzy": {} // 연관 검색 옵션, 세부 옵션도 있지만 사용하려면 빈괄호로 만들어 줘야한다.
      }
    }
  }
]

몽고 Search VS Elasticsearch

몽고디비가 소개하는 엘라스틱을 넘어 몽고 아틀라스 서치가 제공하는 것
https://www.mongodb.com/compare/mongodb-atlas-search-vs-elastic-elasticsearch

MongoDB Atlas Search는 MongoDB의 클라우드 기반 검색 서비스이며, Elastic은 검색 및 분석을 위한 오픈 소스 소프트웨어 스택인 Elasticsearch를 제공합니다.

이 페이지에서는 MongoDB Atlas Search와 Elastic(Elasticsearch)을 다음과 같은 기준으로 비교합니다.
1. 유연성 및 적응성

  • MongoDB Atlas Search는 MongoDB 데이터베이스와 긴밀하게 통합되어 쉽게 설정할 수 있습니다.
  • Elastic은 다양한 데이터 소스와 통합할 수 있는 유연성이 높습니다.
  1. 검색 기능
  • MongoDB Atlas Search는 풀 텍스트 검색 및 정교한 쿼리 기능을 제공합니다.
  • Elastic은 매우 강력한 검색 및 분석 엔진으로 인기가 높습니다.
  1. 성능 및 확장성
  • MongoDB Atlas Search는 클라우드 기반의 서비스이므로 확장성과 높은 가용성을 제공합니다.
  • Elastic은 분산 아키텍처로 설계되어 대용량 데이터에 대한 검색과 분석에 적합합니다.
  1. 사용 편의성
  • MongoDB Atlas Search는 간단한 사용자 인터페이스를 제공하여 검색을 쉽게 구성할 수 있습니다.
  • Elastic은 다양한 기능을 제공하지만, 초기 설정 및 구성은 상대적으로 복잡할 수 있습니다.

요약하자면, MongoDB Atlas Search는 MongoDB와 쉽게 통합되며, 단순한 설정 및 사용이 가능한 검색 서비스입니다. Elastic은 매우 강력한 검색 및 분석 엔진으로 대용량 데이터 처리와 분석에 적합하며, 다양한 데이터 소스와 유연하게 통합할 수 있습니다. 그러나 초기 설정 및 구성이 상대적으로 복잡할 수 있습니다.

ELK 구축의 복잡함

성능

1

8개 도큐먼트에서 'abc'를 검색했을 때 4개의 결과가 나온다고 하면
20~24 ms 소요.

참고

https://www.mongodb.com/docs/atlas/atlas-search/text/#std-label-text-ref

0개의 댓글