본문 바로가기

Database/elastic search

(4)
es 칼럼 limit 변경하기 [Limit of total fields [1000] has been exceeded] "error": { "type": "illegal_argument_exception", "reason": "Limit of total fields [1000] has been exceeded" } 인덱스에 총 필드 수가 1000개를 초과했고, 그로 인해 이 이벤트(document)가 인덱싱되지 않고 실패한 것엘라스틱서치의 기본 필드 수는 1000개로 지정되어 있다. Elasticsearch는 데이터의 모든 하위 키를 개별 필드로 매핑한다. 즉, app.sdk_version_code, app.app_name, ..., user.nickname, device.height 등 각각이 하나의 필드로 계산되어 전체 필드 수가 1000개를 넘는 상황이 발생하면 위와 같이 에러가 발생한다. 기존 인덱스에..
2. elasticsearch indexing Indexing 이란 문서(DOC)들의 내용 중에서 검색하고자 하는 대상들을 쉽고 빠르게 찾을 수 있는 자료구조로 배치하는 것.전통적인 RDBMS 에서는 like 검색을 사용하기 때문에 데이터가 늘어날수록 검색해야 할 대상이 늘어나 시간도 오래 걸리고, row 안의 내용을 모두 읽어야 하기 때문에 기본적으로 속도가 느림.Elasticsearch는 데이터를 저장할 때 역색인(inverted index) 구조를 만들어 저장하여 관리  Elasticsearch에서는 추출된 각 키워드를 텀(term) 이라고 부르며 이렇게 Inverted Index가 있으면 term을 포함하고 있는 Documents의id를 바로 얻어올 수 있다.이러한 특성 떄문에 Elasticsearch에서는 저장이 아닌 색인(Indexing)..
1. Elasticsearch Elasticsearch는 Apache Lucene 기반의 분산형 검색 및 분석 엔진, 확장 가능한 데이터 베이스 사용 가능한 예로그, 메트릭 추적 : 애플리케이션, 시스템 및 서비스의 로그를 수집 저장 및 분석애플리케이션 성능 모니터링 : 애플리케이션의 성능 모니터링 분석사용자 모니터링 : 애플리케이션과 사용자 상호 작용을 모니터링 , 정량화, 분석풀 텍스트 검색 : 역색인, 토큰화, 텍스트 분석을 활용하여 빠르고 관련현 있는 텍스트 검색시멘틱 검색 : 동의어, 벡터 임베딩을 활용한 맥락적 의미 이해지리 공간 검색 2. docker 실행https://www.elastic.co/guide/en/elasticsearch/reference/8.15/run-elasticsearch-locally.html Ru..
Apache Lucene 4 http://opensearchlab.otago.ac.nz/paper_10.pdf 해당 페이퍼는 es를 간단하게 훓는 페이퍼로 대략적인 개요정도만 담겨져 있었다.  Apache Lucene은 색인, 쿼리, 하이라이트, 언어 분석 등과 같은 일반적인 검색 및 검색 관련 작업을 수행하기 위한 애플리케이션 프로그래밍 인터페이스를 제공하는 오픈 소스 Java 기반 검색 라이브러리입니다.Language AnalysisLucene의 분석 기능은 색인할 문서나 검색할 쿼리 형태의 콘텐츠를 가져와 필요에 따라 사용할 수 있는 적절한 내부 표현으로 변환한다.Lucene의 역 인덱스에 삽입되는 토큰을 생성하고, 쿼리 시에는 적절한 쿼리 표현을 형성하는 데 도움이 되는 토큰으로 변환한다.분석 프로세스는 들어오는 콘텐츠에 대..