Standard analyzer
출처: 문서
본문
표준 분석기
standard 분석기는 OpenSearch에서 범용 전체 텍스트 검색을 위해 사용되는 기본 내장 분석기예요. 텍스트를 검색 가능한 용어로 효율적으로 분해하여 일관되고 언어에 구애받지 않는 텍스트 처리를 제공하도록 설계되었어요.
standard 분석기는 다음 작업을 수행해요:
- 토큰화:
standard토크나이저를 사용하여 유니코드 텍스트 분할 규칙에 따라 텍스트를 단어로 분리하고, 공백, 구두점 및 일반적인 구분자를 처리해요. - 소문자 변환:
lowercase토큰 필터를 적용하여 모든 토큰을 소문자로 변환하고, 입력 대소문자에 관계없이 일관된 일치를 보장해요.
이러한 조합 덕분에 standard 분석기는 언어별 사용자 지정 없이 다양한 자연어 콘텐츠를 인덱싱하는 데 이상적이에요.
예제: 표준 분석기로 인덱스 생성하기
인덱스를 생성할 때 텍스트 필드에 standard 분석기를 할당할 수 있어요:
PUT /my_standard_index
{
"mappings": {
"properties": {
"my_field": {
"type": "text",
"analyzer": "standard"
}
}
}
}
{% include copy-curl.html %}
매개변수
standard 분석기는 다음 선택적 매개변수를 지원해요.
| 매개변수 | 데이터 타입 | 기본값 | 설명 |
|---|---|---|---|
max_token_length |
Integer | 255 |
토큰이 분할되기 전의 최대 길이예요. |
stopwords |
String 또는 list of strings | 없음 | 분석 중에 제거할 불용어 목록 또는 언어별 사전 정의된 불용어 집합이에요. 예를 들어 _english_. |
stopwords_path |
String | 없음 | 분석 중에 사용할 불용어가 포함된 파일의 경로예요. |
stopwords 또는 stopwords_path 매개변수 중 하나만 사용해요. 둘 다 사용하면 오류가 반환되지 않지만 stopwords 매개변수만 적용돼요.
{: .note}
예제: 매개변수가 있는 분석기
다음 예제는 products 인덱스를 생성하고 max_token_length 및 stopwords 매개변수를 구성해요:
PUT /animals
{
"settings": {
"analysis": {
"analyzer": {
"my_manual_stopwords_analyzer": {
"type": "standard",
"max_token_length": 10,
"stopwords": [
"the", "is", "and", "but", "an", "a", "it"
]
}
}
}
}
}
{% include copy-curl.html %}
다음 _analyze API 요청을 사용하여 my_manual_stopwords_analyzer가 텍스트를 처리하는 방법을 확인해요:
POST /animals/_analyze
{
"analyzer": "my_manual_stopwords_analyzer",
"text": "The Turtle is Large but it is Slow"
}
{% include copy-curl.html %}
반환된 토큰:
- 공백을 기준으로 분할되었어요.
- 소문자로 변환되었어요.
- 불용어가 제거되었어요.
{
"tokens": [
{
"token": "turtle",
"start_offset": 4,
"end_offset": 10,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "large",
"start_offset": 14,
"end_offset": 19,
"type": "<ALPHANUM>",
"position": 3
},
{
"token": "slow",
"start_offset": 30,
"end_offset": 34,
"type": "<ALPHANUM>",
"position": 7
}
]
}