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

Fingerprint token filter

원문 보기 위키 갱신

출처: 문서

본문

Fingerprint 토큰 필터

fingerprint 토큰 필터는 텍스트를 표준화하고 중복을 제거하는 데 사용돼요. 텍스트 처리에서 일관성이 중요한 경우에 특히 유용해요. fingerprint 토큰 필터는 다음 단계에 따라 텍스트를 처리해서 이를 수행해요:

  1. 소문자 변환: 모든 텍스트를 소문자로 바꿔요.
  2. 분할: 텍스트를 토큰으로 나눠요.
  3. 정렬: 토큰을 알파벳 순으로 배열해요.
  4. 중복 제거: 반복되는 토큰을 없애요.
  5. 토큰 결합: 토큰을 하나의 문자열로 합쳐요. 보통 공백이나 지정된 다른 구분자로 연결해요.

파라미터

fingerprint 토큰 필터는 다음 두 파라미터로 설정할 수 있어요.

파라미터 필수/선택 데이터 타입 설명
max_output_size 선택 Integer 생성되는 fingerprint 문자열의 길이를 제한해요. 연결된 문자열이 max_output_size를 초과하면 필터가 아무런 출력도 만들지 않아서 빈 토큰이 돼요. 기본값은 255예요.
separator 선택 String 정렬과 중복 제거를 마친 토큰들을 하나의 문자열로 합칠 때 사용할 문자를 정의해요. 기본값은 공백(" ")이에요.

예제

다음 예제 요청은 my_index라는 새 인덱스를 만들고 fingerprint 토큰 필터가 설정된 애널라이저를 구성해요:

PUT /my_index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_fingerprint": {
          "type": "fingerprint",
          "max_output_size": 200,
          "separator": "-"
        }
      },
      "analyzer": {
        "my_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_fingerprint"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

생성된 토큰

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

POST /my_index/_analyze
{
  "analyzer": "my_analyzer",
  "text": "OpenSearch is a powerful search engine that scales easily"
}

{% include copy-curl.html %}

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

{
  "tokens": [
    {
      "token": "a-easily-engine-is-opensearch-powerful-scales-search-that",
      "start_offset": 0,
      "end_offset": 57,
      "type": "fingerprint",
      "position": 0
    }
  ]
}

더 알아보기 (Learn more)