문서 홈 → MongoDB 실행 및 관리 → MongoDB Atlas
표준 분석기
standard
분석기는 모든 Atlas Search 인덱스 및 쿼리에 대한 기본값입니다. 텍스트를 단어 경계에 따라 용어로 나누므로 대부분의 사용 사례에서 언어 중립적입니다. 모든 용어를 소문자로 변환하고 문장 부호를 제거합니다. 이메일 주소, 약어, 중국어-일본어-한국어 문자, 영숫자 등을 인식하는 문법 기반 토큰화를 제공합니다.
중요
Atlas Search는 크기가 32766바이트를 초과하는 문자열 필드를 인덱싱하지 않습니다.
예제
다음 예제 인덱스 정의는 standard
분석기를 사용하여 sample_mflix.movies 컬렉션의 title
필드에 대한 인덱스를 지정합니다. 클러스터에 컬렉션을 로드한 경우, Atlas UI 비주얼 편집기 또는 JSON 편집기를 사용하여 예제 인덱스를 만들 수 있습니다. 원하는 구성 방법을 선택한 후 데이터베이스와 컬렉션을 선택하세요.
다음 쿼리는 title
필드에서 action
용어를 검색하고 출력을 두 개의 결과로 제한합니다.
db.movies.aggregate([ { "$search": { "text": { "query": "action", "path": "title" } } }, { "$limit": 2 }, { "$project": { "_id": 0, "title": 1 } } ])
[ { title: 'Action Jackson' }, { title: 'Class Action' } ]
Atlas Search가 action
쿼리 용어를 문서에 대한 토큰 action
과 일치시켰기 때문에 이러한 문서를 반환했으며, 이 문서는 lucene.standard
분석기를 사용하여 title
필드의 텍스트에 대해 다음을 수행하여 만든 것입니다.
텍스트를 소문자로 변환합니다.
단어 경계를 기준으로 텍스트를 분할하고 별도의 토큰을 만듭니다.
다음 표는 Atlas Search가 표준 분석기 를 사용하여 생성하는 토큰(검색 가능한 용어)과 반대로 결과의 문서에 대해 키워드 분석기 및 공백 분석기 에 대해 생성하는 토큰을 보여줍니다.
제목 | 표준 분석기 토큰 | 키워드 분석기 토큰 | 공백 분석기 토큰 |
---|---|---|---|
Action Jackson | action , jackson | Action Jackson | Action , Jackson |
Class Action | class , action | Class Action | Class , Action |
인덱싱할 때
키워드 분석기를 사용하는 경우
keyword
분석기는 검색어가 필드의 전체 콘텐츠(Action Jackson
및Class Action
)와 정확히 일치하는 문서만 일치시키기 때문에 Atlas Search는 쿼리 용어action
에 대한 결과 내의 문서와 일치시키지 않습니다.공백 분석기를 사용하는 경우
whitespace
분석기가title
필드 값을 원래 대문자(Action
)로 토큰화하고 쿼리 용어에는whitespace
분석기 토큰과 일치하지 않는 소문자action
이 있기 때문에 Atlas Search는action
쿼리 용어에 대한 결과 내의 문서와 일치시키지 않습니다.