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

Predicate token filter

원문 보기 위키 갱신

출처: 문서

본문

Predicate token filter

predicate_token_filter는 커스텀 스크립트에 정의된 조건에 따라 토큰을 유지할지 버릴지 판단해요. 토큰은 analysis predicate 컨텍스트에서 평가돼요. 이 필터는 인라인 Painless 스크립트만 지원해요. 자세한 내용은 Painless scripting language 문서를 참고하세요.

Parameters

predicate_token_filter에는 필수 파라미터가 하나 있어요: script. 이 파라미터는 토큰을 유지할지 판단하는 데 사용되는 조건을 제공해요.

Example

다음 예제 요청은 predicate_index라는 새 인덱스를 생성하고 predicate_token_filter가 설정된 애널라이저를 구성해요. 이 필터는 길이가 7자보다 긴 토큰만 출력하도록 지정하고 있어요:

PUT /predicate_index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_predicate_filter": {
          "type": "predicate_token_filter",
          "script": {
            "source": "token.term.length() > 7"
          }
        }
      },
      "analyzer": {
        "predicate_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_predicate_filter"
          ]
        }
      }
    }
  }
}

{% include copy-curl.html %}

Generated tokens

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

POST /predicate_index/_analyze
{
  "text": "The OpenSearch community is growing rapidly",
  "analyzer": "predicate_analyzer"
}

{% include copy-curl.html %}

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

{
  "tokens": [
    {
      "token": "opensearch",
      "start_offset": 4,
      "end_offset": 14,
      "type": "<ALPHANUM>",
      "position": 1
    },
    {
      "token": "community",
      "start_offset": 15,
      "end_offset": 24,
      "type": "<ALPHANUM>",
      "position": 2
    }
  ]
}

더 알아보기 (Learn more)