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

Snowball token filter

원문 보기 위키 갱신

출처: 문서

본문

Snowball 토큰 필터

snowball 토큰 필터는 Snowball 알고리즘 기반의 스테밍 필터예요. 다양한 언어를 지원하며, Porter 스테밍 알고리즘보다 더 효율적이고 정확해요.

파라미터

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

  • Arabic
  • Armenian
  • Basque
  • Catalan
  • Danish
  • Dutch
  • English (기본값)
  • Estonian
  • Finnish
  • French
  • German
  • German2
  • Hungarian
  • Italian
  • Irish
  • Kp
  • Lithuanian
  • Lovins
  • Norwegian
  • Porter
  • Portuguese
  • Romanian
  • Russian
  • Spanish
  • Swedish
  • Turkish

예제

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

PUT /my-snowball-index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_snowball_filter": {
          "type": "snowball",
          "language": "English"
        }
      },
      "analyzer": {
        "my_snowball_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_snowball_filter"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

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

GET /my-snowball-index/_analyze
{
  "analyzer": "my_snowball_analyzer",
  "text": "running runners"
}

{% include copy-curl.html %}

응답에는 생성된 토큰이 포함되어 있어요:

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

더 알아보기 (Learn more)