전처리 필터

ES(Elasticsearch)에서 전처리 필터는 검색이나 데이터 처리를 하기 전에 입력된 텍스트 데이터를 특정 방식으로 변환하거나 정제하는 과정을 의미합니다.

주로 **분석기(Analyzer)**의 일부로 사용되며, 텍스트를 색인하거나 검색할 때 그 과정에서 데이터를 정제하고 일관된 형태로 변환하기 위해 필터링합니다. 전처리 필터는 토크나이저로 텍스트가 분할되기 전에 적용되며, 데이터의 형식을 통일하고 검색 효율을 높이는 역할을 합니다.

⇒ 내가 필요한 형태로 변환

⇒ 정상적인 검색 결과를 얻기 위한 작업

토크나이저 필터

어떤것을 기준으로 할건지 (쪼갤건지)

Elasticsearch에서 토크나이저 필터는 텍스트를 개별적인 단어(토큰)로 나누는 과정에서 사용되는 필터입니다. 토크나이저는 텍스트를 단어, 구, 또는 다른 단위로 분할하는 역할을 하며, 이러한 토크나이저의 동작 방식을 제어하거나 보완하는 것이 토크나이저 필터입니다.

토크나이저 필터는 주로 **텍스트 분석기(Analyzer)**의 구성 요소 중 하나로, 텍스트를 효과적으로 색인하고 검색하는 데 중요한 역할을 합니다. 토크나이저 필터는 텍스트를 토큰으로 나누는 것 외에도 토큰을 후속 처리하여 더 효율적인 색인 및 검색을 가능하게 합니다.

다양한 토크나이저와 그에 적용될 수 있는 필터의 예는 다음과 같습니다:

  1. Standard Tokenizer (기본 토크나이저): 텍스트를 일반적인 단어 경계에서 나누는 토크나이저입니다. 공백, 구두점 등을 기준으로 텍스트를 나누고, 알파벳과 숫자만을 토큰으로 반환합니다.

  2. Whitespace Tokenizer: 공백을 기준으로 텍스트를 나누는 토크나이저로, 기본적으로 공백을 단위로 단어를 구분합니다.

  3. Keyword Tokenizer → 통으로 토크나이저를 만든다

    텍스트를 하나의 단일 토큰으로 간주합니다. 전체 텍스트를 그대로 색인할 때 사용됩니다.

  4. N-gram Tokenizer: → 점진적 확장 (한글자씩)

    텍스트를 n개의 연속된 문자로 분할합니다. 예를 들어, "text"라는 단어를 2-gram으로 나누면 "te", "ex", "xt"로 분리됩니다.

    edge ngram 토크나이저 → 지정된 목록에 의해서

이와 같은 토크나이저는 텍스트를 나누는 역할을 하고, 토크나이저 필터는 이러한 과정에서 추가적인 처리를 수행하여 불필요한 토큰을 제거하거나, 토큰을 표준화하고, 텍스트 분석 성능을 향상시키는 역할을 합니다.

예를 들어, 일반적인 텍스트 분석 과정에서 Lowercase Filter는 텍스트를 소문자로 변환하고, Stop Filter는 불용어를 제거하는 등의 작업을 통해 검색 효율을 높이게 됩니다.

토큰 → 식별하기 위한 값: 통신하기 위한 최소 단위 = 패킷(네트워크)