공부하기/엘라스틱서치
-
엘라스틱서치 템플릿공부하기/엘라스틱서치 2024. 2. 13. 15:38
-> 인덱스를 생성할 때마다 매번 설정값을 지정하는 수고를 덜 수 있다. -> 템플릿을 사전에 정의해두면 인덱스 생성 시 정의한 템플릿 설정대로 인덱스가 생성된다. 인덱스 템플릿 index_petterns 필드를 통해 인덱스 패턴을 지정 새로 생성되는 인덱스의 이름이 패턴과 부합하면 템플릿에 맞춰 인덱스가 생성된다. priority 필드 값을 이용하여 템플릿간 우선순위를 조정할 수 있다. 문법 PUT _index_template/템플릿이름 { "index_pattern": [...], "priority": 원하는값, "template": { "settings": { ... } }, ... } -> 실습 컴포넌트 템플릿 템플릿에서 중복되는 작은 영역을 컴포넌트화하여 사용 문법 PUT _component_t..
-
엘라스틱서치 애널라이저, 토크나이저, 노멀라이저공부하기/엘라스틱서치 2024. 2. 13. 00:42
애널라이저 text 타입의 필드 데이터는 애널라이저를 통해 분석 (0개 이상의 캐릭터 필터 + 1개 토크나이저 + 0개 이상의 토큰 필터)로 구성 standard 애널라이저 (기본값) : standard 토크나이저와 lowercase 토큰 필터로 구성 simple 애널라이저 : letter가 아닌 문자 단위로 토큰을 쪼개고 lowercase 토큰 필터가 적용 whitespace 애널라이저 : whitespace 토크나이저로 구성, 공백 문자 단위로 토큰을 쪼갠다. keyword 애널라이저 : keyword 토크나이저로 구성, 별다른 분석을 실시하지 않고 하나의 큰 토큰을 반환한다. pattern 애널라이저 : pattern 토크나이저와 lowercase 토큰 필터로 구성 language 애널라이저 : 여..
-
엘라스틱서치 text, keyword 타입공부하기/엘라스틱서치 2024. 2. 12. 22:43
text, keyword 두 타입 모두 문자열 자료형을 담는 타입이다. 두 타입은 정렬과 집계, 스크립트 작업을 수행할 때 동작의 차이가 있다 -> keyword 타입 우세 사전지식 - 역색인 ( inverted index ) -> "나는 최고다" = "나는", "최고다" 와 같이 공백 문자로 문자열을 잘랐을 때 각각의 문자열을 토큰이라고 한다. -> 문자열을 토큰으로 나누는 과정을 토크나이징이라고 한다. -> 이렇게 토크나이징된 결과를 저장하는 결과가 역색인이다. - 애널라이저 -> 0개 이상의 character filter, 1개의 tokenzier, 0개 이상의 token filter로 구성된다. -> 역색인을 만들어내기 위해서 필요한 토큰(token)을 생성하는 과정에서 동작 - 노멀라이저 -> ..
-
엘라스틱 서치와 루씬 요약공부하기/엘라스틱서치 2024. 2. 12. 18:44
루씬 : 문서를 색인하고 검색하는 라이브러리 - 루씬에서 검색하려면 먼저 파일을 열어야한다. - 색인이 완료된 문서만 검색할 수 있다. 세그먼트 - 디스크에 기록된 파일들이 모인 단위 - 루씬의 검색 대상 - 불변( immutable ) 데이터로 구성돼 있다. - 새 문서는 새 세그먼트로 생성된다. - 문서를 update,delete 하는 경우 세그먼트의 삭제 플래그를 표시하고 새 세그먼트를 생성한다. - 여러 세그먼트가 모이ㅏ면 하나의 루씬 인덱스가 된다. 루씬 flush -> 시스템의 페이지 캐시에 데이터를 넘겨주는 것까지만 보장할 뿐 디스크에 파일이 실제로 기록되는 것까지 보장하지 않습니다. 과정 : 문서 색인 요청 -> 문서 분석 -> 역색인 생성 -> 메모리 버퍼에 저장 ->디스크 flush 루..
-
elasticsearch 8.4.2 이론 및 실습공부하기/엘라스틱서치 2024. 2. 12. 16:56
키바나 접속 문서 색인 -> 엘라스틱서치에 문서를 색인하려면 문서를 색인할 인덱스 이름, _id, 값을 지정하고 문서의 내용을 요청 본문에 담아서 REST API를 호출합니다. - _id를 지정하여 색인 문법 PUT 인덱스이름/_doc/_id값 { ... } -> 실습: PUT local_test_index/_doc/1 - _id를 지정하지 않고 색인 문법 POST 인덱스이름/_doc { ... } -> 실습 : POST local_test_index/_doc 문서 조회 -> 문서 조회는 인덱스의 이름과 _id값을 지정하여 GET 메서드로 호출하여 확인합니다. 문법 GET 인덱스이름/_doc/_id값 -> 실습 : GET local_test_index/_doc/1 문서 업데이트 -> 문서를 업데이트..
-
mac m1 키바나 8.4.2 설치공부하기/엘라스틱서치 2024. 2. 12. 15:51
키바나는 엘라스틱서치의 데이터를 효과적으로 시작화하는 솔루션입니다. https://www.elastic.co/kr/downloads/past-releases/kibana-8-4-2 Kibana 8.4.2 | Elastic Release Notes View the detailed release notes here. www.elastic.co -> 설치한 후 압축을 해제합니다. Kibana-8.4.2/config/kibana.yml server.port: 5601 server.host: "localhost" server.publicBaseUrl: "http://localhost:5601" elasticsearch.hosts: ["http://localhost:9200"] - 아래와 같은 에러가 발생한다면? ..
-
mac m1 엘라스틱서치 설치 및 실행공부하기/엘라스틱서치 2024. 2. 12. 15:16
https://www.elastic.co/kr/downloads/past-releases/elasticsearch-8-4-2 Elasticsearch 8.4.2 | Elastic Release Notes View the detailed release notes here. www.elastic.co 위 이미지 빨간 박스 선택 후 설치 설치 완료 후 압축을 해제합니다. 압축 해제된 디렉토리를 VSCODE로 오픈합니다. elasticsearch.yml cluster.name: local-test-elastic node.name: local-test-node01 path: data: 데이터경로 logs: 로그경로 network.host: 127.0.0.1 discovery.type: "single-node" x..
-
엘라스틱서치 사전 지식공부하기/엘라스틱서치 2024. 2. 11. 18:01
엘라스틱서치 : 아파치 루씬 라이브러리를 기반으로 만든 분산 검색 엔진 - JSON 기반의 문서를 저장,색인,검색하기에 분산 noSQL 스토리지의 성격도 갖음 - 풀 텍스트 검색이 가능 - 다양한 종류의 검색 쿼리를 지원 - JOSN 기반의 REST API를 사용 - 준실시간검색 지원 (역색인 검색이 가능할때까지 약 1초의 딜레이가 기본값) - 트랜잭션을 지원하지 않음 - 사실상 조인을 지원하지 않음 (join타입은 존재하지만 제한적인 상황을 위한 기능으로 성능이 매우 떨어짐) 루씬 : 데이터를 색인하고 검색하는 기능을 제공하는 검색 엔진의 코어 라이브러리 키바나 : 엘라스틱 서치의 데이터를 손쉽게 시각화 로그스태시 : 엘라스틱서치에 색인할 데이터를 수집하고 변환 ELK : 위 로그스태시 + 키바나 + ..