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
}
]
}