단순 분석기
simple
분석기는 공백, 구두점 또는 하나 이상의 숫자와 같은 문자가 아닌 문자가 발견될 때마다 텍스트를 검색 가능한 텀(토큰)로 나눕니다. 모든 텍스트를 소문자로 변환합니다.
Atlas UI Visual Editor에서 인덱스 생성하거나 편집할 때 simple
분석기 내장 샘플 문서 및 쿼리 문자열에 대해 생성하는 토큰을 볼 수 있습니다. Refine Your Index을 선택하면 Atlas UI Index Configurations 섹션 내에 View text analysis of your selected index configuration 라는 제목의 섹션이 표시됩니다. 이 섹션을 확장하면 Atlas UI simple
분석기 각 샘플 문자열에 대해 생성하는 인덱스 및 검색 토큰이 표시됩니다.
중요
Atlas Search는 분석기 토큰 크기가 32766바이트를 초과하는 문자열 필드를 인덱싱하지 않습니다. 키워드 분석기를 사용하는 경우 32766바이트를 초과하는 문자열 필드는 인덱싱되지 않습니다.
예시
다음 예시 인덱스 정의는 분석기 title
사용하여sample_mflix.movies 컬렉션 의 필드 에 대한 인덱스 simple
지정합니다. 이 예시 따라 하려면 클러스터에 샘플 데이터를 로드하고 Create a Search Index Atlas Search 인덱스 만들기 튜토리얼의 단계에 따라 Atlas UI 의 페이지로 이동합니다. 그런 다음 minutes
컬렉션 데이터 소스 로 선택하고 예시 절차에 따라 Visual Editor 또는 에 인덱스 JSON editor 생성합니다.
인덱스를 구성하려면 Refine Your Index을(를) 클릭합니다.
Index Configurations 섹션에서 Dynamic Mapping를 off로 전환합니다.
Field Mappings 섹션에서 Add Field 을 클릭하여 Add Field Mapping창을 엽니다.
Customized Configuration를 클릭합니다.
Field Name 드롭다운 메뉴에서
title
을(를) 선택합니다.Data Type 드롭다운을 클릭하고 아직 선택되지 않은 경우 String을(를) 선택합니다.
String Properties을 확장하고 다음과 같이 변경합니다:
인덱스 분석기
드롭다운 메뉴에서
lucene.simple
을(를) 선택합니다.검색 분석기
드롭다운 메뉴에서
lucene.simple
을(를) 선택합니다.인덱스 옵션
기본값
offsets
을(를) 사용합니다.Store
기본값
true
을(를) 사용합니다.위 내용 무시
기본 설정을 유지합니다.
규범
기본값
include
을(를) 사용합니다.Add를 클릭합니다.
Save Changes를 클릭합니다.
Create Search Index를 클릭합니다.
기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.simple" } } } } Next를 클릭합니다.
Create Search Index를 클릭합니다.
다음 쿼리는 title
필드에서 lion
라는 용어를 검색하여 출력을 5개의 결과로 제한합니다.
1 db.movies.aggregate([ 2 { 3 "$search": { 4 "text": { 5 "query": "lion", 6 "path": "title" 7 } 8 } 9 }, 10 { 11 "$limit": 5 12 }, 13 { 14 "$project": { 15 "_id": 0, 16 "title": 1 17 } 18 } 19 ])
[ { title: 'White Lion' }, { title: 'The Lion King' }, { title: 'The Lion King 1 1/2' }, { title: 'The Lion King 1 1/2' }, { title: 'Lion's Den' }, ]
Atlas Search는 lucene.simple
분석기를 사용하여 title
필드의 텍스트에 대해 다음을 수행하여 이러한 문서를 반환합니다.
텍스트를 소문자로 변환합니다.
문자가 아닌 문자가 있는 곳마다 텍스트를 나누어 별도의 토큰을 만듭니다.
다음 표는 Atlas Search가 결과의 문서에 대해 단순 분석기를 사용하여 생성하는 토큰과 이에 비해 표준 분석기 및 공백 분석기가 생성하는 토큰을 보여줍니다.
제목 | 간단한 분석기 토큰 | 표준 분석기 토큰 | 공백 분석기 토큰 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Atlas Search는 simple
분석기가 검색어 lion
과 일치하는 lion
의 토큰을 별도로 생성했으므로 결과에 문서 Lion's Den
을 반환합니다. 반대로 표준 분석기 또는 화이트스페이스 분석기를 사용하여 필드를 인덱싱하는 경우 Atlas Search는 쿼리 결과에 있는 일부 문서를 반환하지만 Lion's Den
은 반환하지 않습니다. 이러한 분석기는 각각 lion's
토큰 및 Lion's
토큰을 생성하지만 lion
토큰은 은 생성하지 않기 때문입니다.