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

Reverse token filter

원문 보기 위키 갱신

출처: 문서

본문

Reverse 토큰 필터

reverse 토큰 필터는 각 토큰에서 문자의 순서를 뒤집어서, 분석하는 동안 접미사 정보가 뒤집힌 토큰의 맨 앞에서 접근 가능하도록 만들어요.

이 기능은 접미사 기반 검색에 유용해요:

reverse 토큰 필터는 다음과 같은 시나리오처럼 접미사 기반 검색을 수행해야 할 때 유용해요:

  • 접미사 매칭: 접미사를 기준으로 단어를 검색하는 거예요. 예를 들어 특정 어미를 가진 단어(예: -tion 또는 -ing)를 찾는 경우가 여기에 해당해요.
  • 파일 확장자 검색: .txt나 .jpg처럼 확장자를 기준으로 파일을 검색하는 거예요.
  • 커스텀 정렬 또는 랭킹: 토큰을 뒤집으면 접미사를 기반으로 한 고유한 정렬이나 랭킹 로직을 구현할 수 있어요.
  • 접미사 자동완성: 접두사 대신 접미사를 활용하는 자동완성 제안 기능을 구현하는 거예요.

예제

다음 예제 요청은 my-reverse-index라는 새 인덱스를 생성하고 reverse 필터가 적용된 분석기를 구성해요:

PUT /my-reverse-index
{
  "settings": {
    "analysis": {
      "filter": {
        "reverse_filter": {
          "type": "reverse"
        }
      },
      "analyzer": {
        "my_reverse_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "reverse_filter"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

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

GET /my-reverse-index/_analyze
{
  "analyzer": "my_reverse_analyzer",
  "text": "hello world"
}

{% include copy-curl.html %}

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

{
  "tokens": [
    {
      "token": "olleh",
      "start_offset": 0,
      "end_offset": 5,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "dlrow",
      "start_offset": 6,
      "end_offset": 11,
      "type": "<ALPHANUM>",
      "position": 1
    }
  ]
}

더 알아보기 (Learn more)