본문 바로가기
WIKI 기술 지식 베이스

Stemmer token filter

원문 보기 위키 갱신

출처: 문서

본문

Stemmer 토큰 필터

stemmer 토큰 필터는 단어를 어근 또는 기본 형태로 축소해요. 이렇게 축소된 형태를 _어간(stem)_이라고도 불러요.

파라미터

stemmer 토큰 필터는 다음 값들을 받는 language 파라미터로 설정할 수 있어요:

  • 아랍어: arabic
  • 아르메니아어: armenian
  • 바스크어: basque
  • 벵골어: bengali
  • 브라질 포르투갈어: brazilian
  • 불가리아어: bulgarian
  • 카탈루냐어: catalan
  • 체코어: czech
  • 덴마크어: danish
  • 네덜란드어: dutch, dutch_kp
  • 영어: english(기본값), light_english, lovins, minimal_english, porter2, possessive_english
  • 에스토니아어: estonian
  • 핀란드어: finnish, light_finnish
  • 프랑스어: light_french, french, minimal_french
  • 갈리시아어: galician, minimal_galician(복수 처리 단계만 적용)
  • 독일어: light_german, german, german2, minimal_german
  • 그리스어: greek
  • 힌디어: hindi
  • 헝가리어: hungarian, light_hungarian
  • 인도네시아어: indonesian
  • 아일랜드어: irish
  • 이탈리아어: light_italian, italian
  • 쿠르드어(소라니): sorani
  • 라트비아어: latvian
  • 리투아니아어: lithuanian
  • 노르웨이어(보크몰): norwegian, light_norwegian, minimal_norwegian
  • 노르웨이어(뉘노르스크): light_nynorsk, minimal_nynorsk
  • 포르투갈어: light_portuguese, minimal_portuguese, portuguese, portuguese_rslp
  • 루마니아어: romanian
  • 러시아어: russian, light_russian
  • 스페인어: light_spanish, spanish
  • 스웨덴어: swedish, light_swedish
  • 터키어: turkish

name 파라미터를 language 파라미터의 별칭으로 사용할 수도 있어요. 둘 다 설정하면 name 파라미터는 무시돼요. {: .note}

예제

다음 예제 요청은 my-stemmer-index라는 이름의 새 인덱스를 생성하고, stemmer 필터가 설정된 애널라이저를 구성해요:

PUT /my-stemmer-index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_english_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      },
      "analyzer": {
        "my_stemmer_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_english_stemmer"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

애널라이저가 생성한 토큰을 확인하려면 다음 요청을 사용해 보세요:

GET /my-stemmer-index/_analyze
{
  "analyzer": "my_stemmer_analyzer",
  "text": "running runs"
}

{% include copy-curl.html %}

응답에는 생성된 토큰이 담겨 있어요:

{
  "tokens": [
    {
      "token": "run",
      "start_offset": 0,
      "end_offset": 7,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "run",
      "start_offset": 8,
      "end_offset": 12,
      "type": "<ALPHANUM>",
      "position": 1
    }
  ]
}

더 알아보기 (Learn more)