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

Porter stem token filter

원문 보기 위키 갱신

출처: 문서

본문

Porter stem 토큰 필터

porter_stem 토큰 필터는 단어를 기본(또는 어간) 형태로 줄이고 단어에서 흔한 접미사를 제거해서, 어근을 기준으로 비슷한 단어를 매칭하는 데 도움을 줘요. 예를 들어 running이라는 단어는 run으로 어간 추출돼요. 이 토큰 필터는 주로 영어에 사용되며, Porter 어간 추출 알고리즘을 기반으로 어간 추출을 제공해요.

예제

다음 예제 요청은 my_stem_index라는 새 인덱스를 만들고 porter_stem 필터가 적용된 분석기를 구성해요:

PUT /my_stem_index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_porter_stem": {
          "type": "porter_stem"
        }
      },
      "analyzer": {
        "porter_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_porter_stem"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

다음 요청을 사용해서 분석기가 생성한 토큰을 확인해 보세요:

POST /my_stem_index/_analyze
{
  "text": "running runners ran",
  "analyzer": "porter_analyzer"
}

{% 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
    },
    {
      "token": "ran",
      "start_offset": 16,
      "end_offset": 19,
      "type": "<ALPHANUM>",
      "position": 2
    }
  ]
}

더 알아보기 (Learn more)