# analyzer
[ElasticSearch] analyzer, search_analyzer, search_quote_analyzer
analyzer analyzer : index time 에 사용 search_analyzer : non-phase 쿼리에 사용 searchquoteanalyzer : phase 쿼리에 사용 ex) searchquoteanalyzer 가 적용 lowercase, stop_english 필터가 적용 -> 관사인 the 가 무시 quick, brown, fox 만 기준으로 a quick brown fox 도 검색된다. reference Docs

[elasticsearch] analyzer 를 이용해 tokens 확인하기
analyzer 구성 텍스트 분석 과정 애널라이저가 수행 캐릭터 필터링 → 토크나이징 → 토큰 필터링 순서로 진행 토크나이징은 특정 기준으로 분석을 실행해야 해서 1개만 지정 가능하다. 캐릭터 필터는 토크나이징이 진행되기전 캐릭터 전체에 대한 내용을 필터한다. 토큰 필터는 토크나이징이 되고난 후 토큰들에 대한 내용을 필터한다. analyzer 를 이용해 tokens 확인하기 로컬에서 elastic 실행 GET http://localhost:9200/_analyze 으로 원하는 text 와 analyzer 를 넣어서 요청하기  필드에 지정된 텍스트를 색인 내부에서 사용하는 가장 기본적인 단위인 term으로 분리하는 작업 색인/검색에 사용 색인 과정에서의 분석 : 검색에 용이한 유의미한 Term으로 가공하여 색인에 저장 검색 과정에서의 분석 : 사용자 질의가 색인된 term에 최대한 일치하도록 형태소 분석 진행 TokenStream 분석하는 객체로 Analyzer의 구현체라 생각함, Tokenizer/TokenFilter로 구성 Tokenizer 텍스트를 Token으로 분리. 정해진 separator(ex : 공백, !@#등의 특수문자)를 기준으로 Token을 분리 주요 토크나이저 StandardTokenizer : 문법 기반 토크나이저로, 유니코드 텍스트 분할 알고리즘에 명시된 규칙을 따름 WhitespaceTokenizer : 공백 문자 로 텍스트 분할 SpacialCharacter : !@# 문자 단

어제 뭐했니? #17
[셀프 스터디: 검색엔진 API 구현 ](https://abstracted-rutabaga-798.notion.site/31st-4-25-TIL-2f8ad3c5f334417b8f5210e987901750)CRUD, Analyzer, Autocomplete MicroService Jest/TDD, Generic Type/Utility Type
🍒 BE TIL Day 32 0426
⬇️ Main Note https://docs.google.com/document/d/17KKtCXenuQsuk9E6050v01H_IAHBfYQtG11G06jas/edit ⚠️ Warning ⚠️ Today's post contains a lot of images 🌿 Inverted Text (역색인) "Hello this is Monstershop. We are the best shop" ➤ Every single words are tokenized, and they are now tokens. By tokenizing, elasticsearch can quickly search the words from the context. ➤ Faster than mysql (mysql searches in this format : "title":%Hello%) ➤ Full-text search (efficient for searching a sent

Elasticsearch 03 | Data Indexing and Text Analysis
Elasticsearch는 RDBMS나 Beats와 같은 다양한 저장소로부터 데이터를 입력 받은 Logstash를 통해 알맞게 가공된 Data를 제공받아 검색, 집계, 분석 등을 수행합니다. Elasticsearch는 검색을 위해 Data를 어떻게 처리하고, 또 Data 색인 중 어떤 과정이 이루어지는걸까요? 지난 블로그에서는 Logstash를 활용하여 Mysql에 존재하는 Data를 Elasticsearch로 전송하는 과정을 살펴봤습니다. Data를 연동하여 Elasticsearch로 Search가 가능하도록 하는 것도 물론 중요하지만, 우리가 원하는 Full-Text Search는 단순히 Database와 Elasticsearch를 동기화하는 것만으로는 부족합니다. Elasticsearch는 Data를 검색에 맞게 가공하는 작업을 필요로 하고, 이는 Data를 저장하는 과정에서 이루어집니다. 이번 블로그에서는 **Elasticsearc
[Elasticsearch] Token Filter 정리
apostrophe : '을 삭제. ' 뒤에 붙어있는 글자는 삭제됨 asciifolding : ascii 형태가 아닌 글자를 ascii 형태로 변형. preserve_original: true로 하면 원본도 저장 가능 cjk_bigram: 한국어, 중국어, 일본어를 분석. 형태소 바탕으로 분석하지 않고, 띄어쓰기를 기준으로 단어를 나눈 후 단어를 2글자씩 나누어서 분석. ex) 우리나라 -> 우리, 리나, 나라 classic: 's 과 . 을 삭제 (classic tokenizer와 사용) common grams: 설정한 common words를 bigram 형태로 분석 가능. 설정한 common words를 완전히 무시하고 싶지 않을 때 stop token filter 대신 사용 가능. ex) the quick fox is brown -> the, thequick, quick, fox, foxis, is, is_brow