semantic_text — 벡터 검색 설정을 자동화한 필드 타입
Elasticsearch semantic_text/ELSER 및 eager_global_ordinals 공식 문서 종합 (웹 리서치, 2026) — Elastic 공식 문서(mapping-reference/semantic-text, mapping-reference/eager-global-ordinals) Elastic 공식문서 Semantic text field type
이 모듈을 다 읽으면
- semantic_text가 elasticsearch-learn-09의 수동 dense_vector 설정을 어떻게 자동화하는지 설명할 수 있다
- ELSER가 만들어내는 sparse_vector가 dense_vector와 근본적으로 다른 표현 방식이라는 것을 설명할 수 있다
elasticsearch-learn-09에서 다룬 dense_vector·kNN(수동으로 임베딩 모델을 골라 차원·유사도 함수를 설정해야 했던 벡터 검색)을 전제로, 그 설정 대부분을 대신 처리해주는 semantic_text 필드 타입을 정리한다.
무엇을 자동화하는가 — 매핑·임베딩 생성·청킹까지
elasticsearch-learn-09에서 다룬 벡터 검색은 dense_vector 필드에 차원 수·유사도 함수 등을 사용자가 직접 설정해야 했다. semantic_text는 이 수작업 대부분을 대신 처리한다 — 지정한 추론 엔드포인트를 바탕으로 올바른 필드 타입(sparse_vector 또는 dense_vector), 차원 수, 유사도 함수, 저장 최적화를 자동으로 구성한다. 또한 elasticsearch-learn-12에서 다룬 Ingest Pipeline이나 별도 추론 프로세서 없이도 색인 시점에 임베딩을 자동으로 생성하고, 긴 텍스트 문서를 자동으로 청킹(chunking)까지 처리한다.
핵심 포인트
- elasticsearch-learn-09의 수동 dense_vector 설정(차원·유사도 함수 등)을 지정한 추론 엔드포인트 기반으로 자동 구성
- elasticsearch-learn-12의 Ingest Pipeline·추론 프로세서 없이도 색인 시점에 임베딩 자동 생성 + 긴 문서 자동 청킹까지 처리
ELSER — sparse_vector로 표현되는, 조금 다른 종류의 임베딩
ELSER(Elastic's Learned Sparse EncodeR)를 추론 엔드포인트로 쓰면, semantic_text는 elasticsearch-learn-09의 dense_vector가 아니라 sparse_vector 필드 타입을 쓴다 — dense_vector가 고정 차원의 촘촘한 실수 벡터라면, ELSER가 만드는 sparse embedding은 (용어, 가중치) 쌍들의 목록이다. 이는 elasticsearch-learn-02에서 다룬 역인덱스의 (term, 관련도) 구조와 개념적으로 더 가까운 표현이라, 기존 역인덱스 기반 검색 인프라와 자연스럽게 어우러진다는 특징이 있다.
핵심 포인트
- ELSER를 쓰면 semantic_text는 elasticsearch-learn-09의 dense_vector가 아니라 sparse_vector 사용
- sparse embedding = (용어, 가중치) 쌍의 목록 — elasticsearch-learn-02의 역인덱스 (term, 관련도) 구조와 개념적으로 더 가까운 표현