-
AnalysisBackEnd/Elasticsearch API 2025. 3. 11. 01:00반응형
Elasticsearch Analysis는 텍스트 데이터를 처리하고, 색인할 수 있도록 변환하는 과정입니다. 이는 텍스트 데이터를 토큰화하고, 필터링하여 검색에 적합한 형태로 만드는 역할을 합니다.
Key components of Analyzers
- Character Filters: 텍스트를 토큰화하기 전에 문자 단위로 처리하는 역할을 합니다.
e.g HTML Stripping, Mapping and Pattern Replacement - Tokenizer: 텍스트를 개별 단어 또는 토큰으로 나누는 역할을 합니다.
e.g Standard Tokenizer, Whitespace Tokenizer, Keyword Tokenizer - Token Filters: 생성된 토큰을 추가로 처리하는 역할을 합니다.
e.g Lowercase Token Filter, Stop Token Filter, Stemmer Token Filter
standard analyzer
POST /_analyze { "text": "<p>Elasticsearch is a powerful tool for querying and analyzing data ...!!</p>", "analyzer": "standard" } POST /_analyze { "text": "<p>Elasticsearch is a powerful tool for querying and analyzing data ...!!</p>", "char_filter": ["html_strip"], "tokenizer": "standard", "filter": ["lowercase"] }
Character Filter
- Mapping character filter
GET /_analyze { "tokenizer": "keyword", "char_filter": [ { "type": "mapping", "mappings": [ "٠ => 0", "١ => 1", "٢ => 2", "٣ => 3", "٤ => 4", "٥ => 5", "٦ => 6", "٧ => 7", "٨ => 8", "٩ => 9" ] } ], "text": "My license plate is ٢٥٠١٥" }
- Customize and add to an analyzer
PUT /my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "standard", "char_filter": [ "my_mappings_char_filter" ] } }, "char_filter": { "my_mappings_char_filter": { "type": "mapping", "mappings": [ ":) => _happy_", ":( => _sad_" ] } } } } } GET /my-index-000001/_analyze { "tokenizer": "keyword", "char_filter": [ "my_mappings_char_filter" ], "text": "I'm delighted about it :(" }
[참고자료]
반응형'BackEnd > Elasticsearch API' 카테고리의 다른 글
Mapping parameters (0) 2025.03.14 Mapping (0) 2025.03.13 Multiple Documents (0) 2025.03.10 Document (0) 2025.03.09 Introduction (0) 2025.03.08 - Character Filters: 텍스트를 토큰화하기 전에 문자 단위로 처리하는 역할을 합니다.