Docs Menu
Docs Home
/ /

공백 분석기

whitespace 분석기는 공백 문자를 찾을 때마다 텍스트를 검색 가능한 용어(토큰)로 나눕니다. 모든 텍스트는 원래 대소문자를 그대로 유지합니다.

Refine Your Index을 선택하면 Atlas UI Index Configurations 섹션 내에 View text analysis of your selected index configuration 라는 제목의 섹션이 표시됩니다. 이 섹션을 확장하면 Atlas UI whitespace 분석기 각 샘플 문자열에 대해 생성하는 인덱스 및 검색 토큰이 표시됩니다. Atlas UI Visual Editor에서 인덱스 생성하거나 편집할 때 whitespace 분석기 내장 샘플 문서 및 쿼리 문자열에 대해 생성하는 토큰을 볼 수 있습니다.

중요

MongoDB Search는 분석기 토큰 크기가 32766 바이트를 초과하는 문자열 필드를 인덱스 하지 않습니다. 키워드 분석기 사용하는 경우 32766 바이트를 초과하는 문자열 필드는 인덱싱되지 않습니다.

다음 예시 인덱스 정의는 분석기 title 사용하여sample_mflix.movies 컬렉션 의 필드 에 대한 whitespace 인덱스 지정합니다. 이 예시 따라 진행하려면 클러스터에 샘플 데이터를 mongosh 로드하고 Create a Search Index 를 사용하거나 MongoDB 검색 인덱스 만들기 튜토리얼의 단계에 따라 Atlas UI 의 페이지로 이동합니다.

그런 다음 movies 컬렉션 데이터 소스로 사용하여 예시 절차에 따라 mongosh 또는 Atlas UI Visual Editor 또는 JSON editor에서 인덱스 생성합니다.


언어 선택 드롭다운 메뉴를 사용하여 이 페이지의 예시에 대한 인터페이스를 설정하다.


  1. 인덱스를 구성하려면 Refine Your Index을(를) 클릭합니다.

  2. Index Configurations 섹션에서 Dynamic Mappingoff로 전환합니다.

  3. Field Mappings 섹션에서 Add Field 을 클릭하여 Add Field Mapping창을 엽니다.

  4. Field Name 드롭다운 메뉴에서 title을(를) 선택합니다.

  5. Customized Configuration를 클릭합니다.

  6. Data Type 드롭다운을 클릭하고 아직 선택되지 않은 경우 String을(를) 선택합니다.

  7. String Properties을 확장하고 다음과 같이 변경합니다:

    인덱스 분석기

    드롭다운 메뉴에서 lucene.whitespace 을(를) 선택합니다.

    검색 분석기

    드롭다운 메뉴에서 lucene.whitespace 을(를) 선택합니다.

    인덱스 옵션

    기본값 offsets을(를) 사용합니다.

    Store

    기본값 true을(를) 사용합니다.

    위 내용 무시

    기본 설정을 유지합니다.

    규범

    기본값 include을(를) 사용합니다.

  8. Add를 클릭합니다.

  9. Save Changes를 클릭합니다.

  10. Create Search Index를 클릭합니다.

  1. 기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.

    {
    "mappings": {
    "fields": {
    "title": {
    "type": "string",
    "analyzer": "lucene.whitespace",
    "searchAnalyzer": "lucene.whitespace"
    }
    }
    }
    }
  2. Next를 클릭합니다.

  3. Create Search Index를 클릭합니다.

1db.movies.createSearchIndex(
2 "default",
3 {
4 "mappings": {
5 "fields": {
6 "title": {
7 "type": "string",
8 "analyzer": "lucene.whitespace",
9 "searchAnalyzer": "lucene.whitespace"
10 }
11 }
12 }
13 }
14)

다음 쿼리는 title 필드에서 Lion's 이라는 용어를 검색합니다.

  1. 인덱스 의 Query 버튼을 클릭합니다.

  2. 쿼리 편집하려면 Edit Query 을(를) 클릭합니다.

  3. 쿼리 줄에서 을 클릭하고 데이터베이스 와 컬렉션 선택합니다.

  4. 기본값 쿼리 다음으로 바꾸고 Find을 클릭합니다.

    [
    {
    "$search": {
    "text": {
    "query": "Lion's",
    "path": "title"
    }
    }
    }
    ]
    SCORE: 3.7370920181274414 _id: "573a13ebf29313caabdcfc8d"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-03 00:37:45.227000000"
    num_mflix_comments: 0
    plot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    poster: "https://m.media-amazon.com/images/M/MV5BMTgzMTc2OTg2N15BMl5BanBnXkFtZT…"
    released: 2014-01-18T00:00:00.000+00:00
    runtime: 15
    title: "The Lion's Mouth Opens"
    type: "movie"
    writers: Array (1)
    year: 2014
db.movies.aggregate([
{
"$search": {
"text": {
"query": "Lion's",
"path": "title"
}
}
},
{
"$project": {
"_id": 0,
"title": 1
}
}
])
[ { title: "The Lion's Mouth Opens" } ]

MongoDB Search는 lucene.whitespace 분석기 사용하여 title 필드 의 텍스트에 대해 다음을 수행하여 이러한 문서를 반환합니다.

  • 텍스트의 원래 대소문자를 유지합니다.

  • 공백 문자를 찾을 때마다 텍스트를 토큰으로 나눕니다.

다음 표는 MongoDB Search가 공백 분석기와 단순 분석기 및 키워드 분석기를 사용하여 결과의 문서에 대해 생성하는 토큰(검색 가능한 용어)을 보여줍니다.

제목
공백 분석기 토큰
간단한 분석기 토큰
키워드 분석기 토큰

The Lion's Mouth Opens

The, Lion's, Mouth, Opens

the, lion, s, mouth, opens

The Lion's Mouth Opens

whitespace 분석기 사용하는 인덱스 는 대소문자를 구분합니다. 따라서 MongoDB Search는 쿼리 텀 Lion'swhitespace 분석기 에서 생성된 토큰 Lion's 과 일치시킬 수 있습니다.

돌아가기

simple