# analyzer

8개의 포스트

[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

2022년 12월 29일
·
0개의 댓글
·
post-thumbnail

[elasticsearch] analyzer 를 이용해 tokens 확인하기

analyzer 구성 텍스트 분석 과정 애널라이저가 수행 캐릭터 필터링 → 토크나이징 → 토큰 필터링 순서로 진행 토크나이징은 특정 기준으로 분석을 실행해야 해서 1개만 지정 가능하다. 캐릭터 필터는 토크나이징이 진행되기전 캐릭터 전체에 대한 내용을 필터한다. 토큰 필터는 토크나이징이 되고난 후 토큰들에 대한 내용을 필터한다. analyzer 를 이용해 tokens 확인하기 로컬에서 elastic 실행 GET http://localhost:9200/_analyze 으로 원하는 text 와 analyzer 를 넣어서 요청하기 ![](https://velog.velcdn.com/images/yoon-bomi/post

2022년 12월 14일
·
0개의 댓글
·

[ElasticSearch] mapping, type, analyzer

mapping JSON 형태 Document 의 데이터 스키마 정의 명시적 매핑 : 인덱스 매핑을 직접 정의 다이나믹 매핑 : 명시하지 않은 필드에 대해 자동 추론, 매핑 long 사용으로 인한 불필요한 메모리 사용이나, 문자열 검색/정렬 고려를 위해 명시적 매핑 권장 ※ 필드 추가는 가능하나, 한번 정의된 필드는 수정, 삭제 불가 input 에 따라 다이나믹 매핑으로 매핑되는 필드 Mapping 정보 조회 GET 명시적 매핑 Index 생성시 mapping 지정 PUT ![](https://velog.velcdn.com/images/anjinwoong/post/c

2022년 8월 9일
·
0개의 댓글
·
post-thumbnail

형태소 분석

형태소 분석기(Analyzer) 필드에 지정된 텍스트를 색인 내부에서 사용하는 가장 기본적인 단위인 term으로 분리하는 작업 색인/검색에 사용 색인 과정에서의 분석 : 검색에 용이한 유의미한 Term으로 가공하여 색인에 저장 검색 과정에서의 분석 : 사용자 질의가 색인된 term에 최대한 일치하도록 형태소 분석 진행 TokenStream 분석하는 객체로 Analyzer의 구현체라 생각함, Tokenizer/TokenFilter로 구성 Tokenizer 텍스트를 Token으로 분리. 정해진 separator(ex : 공백, !@#등의 특수문자)를 기준으로 Token을 분리 주요 토크나이저 StandardTokenizer : 문법 기반 토크나이저로, 유니코드 텍스트 분할 알고리즘에 명시된 규칙을 따름 WhitespaceTokenizer : 공백 문자 로 텍스트 분할 SpacialCharacter : !@# 문자 단

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

어제 뭐했니? #17

[셀프 스터디: 검색엔진 API 구현 ](https://abstracted-rutabaga-798.notion.site/31st-4-25-TIL-2f8ad3c5f334417b8f5210e987901750)CRUD, Analyzer, Autocomplete MicroService Jest/TDD, Generic Type/Utility Type

2022년 5월 3일
·
0개의 댓글
·

🍒 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

2022년 4월 26일
·
0개의 댓글
·
post-thumbnail

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

2021년 9월 27일
·
0개의 댓글
·

[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

2020년 5월 19일
·
0개의 댓글
·