White space analyzer
출처: 문서
본문
White space analyzer
whitespace 분석기는 텍스트를 공백 문자(예: 스페이스와 탭)만을 기준으로 토큰으로 나눠요. 소문자 변환이나 불용어 제거 같은 변환은 전혀 적용하지 않기 때문에, 텍스트의 원래 대소문자가 그대로 유지되고 구두점도 토큰의 일부로 포함돼요.
예제
다음 명령으로 whitespace 분석기를 사용하는 my_whitespace_index라는 이름의 인덱스를 만들어 보세요:
PUT /my_whitespace_index
{
"mappings": {
"properties": {
"my_field": {
"type": "text",
"analyzer": "whitespace"
}
}
}
}
{% include copy-curl.html %}
커스텀 분석기 설정하기
다음 명령으로 whitespace 분석기에 lowercase 캐릭터 필터를 추가한 것과 동일한 커스텀 분석기를 사용하도록 인덱스를 설정해 보세요:
PUT /my_custom_whitespace_index
{
"settings": {
"analysis": {
"analyzer": {
"my_custom_whitespace_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": ["lowercase"]
}
}
}
},
"mappings": {
"properties": {
"my_field": {
"type": "text",
"analyzer": "my_custom_whitespace_analyzer"
}
}
}
}
{% include copy-curl.html %}
생성된 토큰
다음 요청으로 분석기가 생성한 토큰을 확인해 보세요:
POST /my_custom_whitespace_index/_analyze
{
"analyzer": "my_custom_whitespace_analyzer",
"text": "The SLOW turtle swims away! 123"
}
{% include copy-curl.html %}
응답에는 생성된 토큰이 담겨 있어요:
{
"tokens": [
{"token": "the","start_offset": 0,"end_offset": 3,"type": "word","position": 0},
{"token": "slow","start_offset": 4,"end_offset": 8,"type": "word","position": 1},
{"token": "turtle","start_offset": 9,"end_offset": 15,"type": "word","position": 2},
{"token": "swims","start_offset": 16,"end_offset": 21,"type": "word","position": 3},
{"token": "away!","start_offset": 22,"end_offset": 27,"type": "word","position": 4},
{"token": "123","start_offset": 28,"end_offset": 31,"type": "word","position": 5}
]
}