match...against 를 사용하여 full text search 구현.
https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html
Atlas에서 지원
local mongoDB에서TEXT
데이터 타입 및 인덱스를 사용하여 Full Text 검색엔진을 지원
로컬에 설치하는 몽고디비가 아닌 클라우드에서 사용하느 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": {} // 연관 검색 옵션, 세부 옵션도 있지만 사용하려면 빈괄호로 만들어 줘야한다.
}
}
}
]
몽고디비가 소개하는 엘라스틱을 넘어 몽고 아틀라스 서치가 제공하는 것
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은 매우 강력한 검색 및 분석 엔진으로 대용량 데이터 처리와 분석에 적합하며, 다양한 데이터 소스와 유연하게 통합할 수 있습니다. 그러나 초기 설정 및 구성이 상대적으로 복잡할 수 있습니다.
ELK 구축의 복잡함
8개 도큐먼트에서 'abc'를 검색했을 때 4개의 결과가 나온다고 하면
20~24 ms 소요.
https://www.mongodb.com/docs/atlas/atlas-search/text/#std-label-text-ref