반응형

elasticsearch 36

elasticsearch multi type 기능 제거 이슈

elasticsearch는 인덱스 하나의 여러 type을 제공했다. 예를 들면 twitter라는 인덱스에 user와 tweet 두개의 타입을 가질 수도 있고 그 안에 Document들이 저장된다. 각각의 타입에 들어있는 properties에는 서로 다른 타입의 것과 독립적으로 보이기 때문에 각 타입에 같은 이름의 properties를 사용할 수 있다. 예를 들면 user type 필드에도 user_name을 만들고, tweet 필드에도 user_name을 만들 수있다. 그리고 각 type에 들어있는 document에는 _id 속성이 있는데 이는 각 타입별로 만들어지기 때문에 서로 다른 타입에 _id는 같은 값을 가질 수도 있다. 위의 내용까지는 얼추 알던내용인데 왜 7.0부터는 이 편한 multi typ..

Elasticsearch 질의 DSL 정리

엘라스틱 서치를 공부하면서 봤던 DSL 쿼리를 정리해보자. Query와 Filter의 차이Query는 일반적으로 Full Text Search(전문검색)에 사용되고 필터는 YES/NO 조건의 바이너리 구분에 주로 사용된다. 쿼리는 scoring이 계산되나 필터는 계산되지 않는다. 쿼리 결과는 캐싱되지 않고 필터 결과는 캐싱된다. 상대적으로 쿼리는 응답속도가 느리고 필터는 응답속도가 빠르다. term - term은 색인이 나눠지면서 형태소로 나누어지는 저장되는 토큰등을 term이라고 한다. term 쿼리는 주어진 질의문과 저장된 텀과 정확히 일치하는 문장을 찾는다. - term으로 "name" : "cjung gglee" 라고 입력하게 되는경우에는 "cjung gglee"라는 하나의 term을 찾기 때문에..

인덱스 생성 및 데이터 삽입

Elasticsearch에서 인덱스를 만들고 타입을 지정하여 데이터를 삽입하는 과정을 정리해보자. elasticsearch는 Restful API가 지원되기 때문에 BSL 쿼리를 이용하여 쉽게 데이터를 조작할 수 있다. 인덱스 생성Methd : put URLI : /{indexname}?pretty 생성된 인덱스 확인 Method : GET URI : _cat/indices?v kibana dev-tool에서 customer 인덱스가 생성된 것을 확인할 수 있다. 타입, Document 생성 및 데이터 추가 Method : PUT URI : /{indexname}/{typename}/[documentid]?pretty 만약 documentid를 넣지 않으면 랜덤으로 만들어서 삽입된다. 입력된 데이터 확인..

Docker Container에 Elasticsearch와 데이터 시각화 kibana 설치 및 연동

회사에서 사용하는 Elasticsearch 공부를 위해서 docker에 설치해보고 시각화에 도움주는 Kibana도 같이 설치해보자. 우선 Elasticsearch에 대한 기본 정보는 API 문서에서 확인할 수 있다. https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-index-query.html Elasticsearch 설치해당 이미지에는 xpack도 포함되어있다. xpack은 보안, 알림, 모니터링, 보고, 그래프 기능을 설치하기 편리한 단일 패키지로 번들 구성한 Elastic Stack 확장 프로그램이다. 우선 이미지를 내려받는다.1docker pull docker.elastic.co/elasticsearch/elasticsearc..

Elasticsearch 기본 정리

Definition- 엘라스틱서치는 색인 기능이 추가된 NoSQL DBMS이다.- Full Text Search(전문검색)과 문서의 점수화를 이용한 정렬, 데이터증가량에 구애받지 않는 실시간 검색 등을 제공- 여러개의 노드로 구성된 분산시스템이다. 각 노드는 데이터를 색인하고 검색기능을 수행하는 단위 프로세스이다. 각 노드는 복사본과 원본을 다른 위치에 저장하고 있어서 안전하다.- 검색 시 서로 다른 인덱스의 데이터를 바로 하나의 질의로 묶어서 여러 검색 결과를 하나의 출력으로 도출할 수 있는 멀티 테넌시를 제공한다.- 모든 데이터는 JSON 구조로 저장된다.- RestFul API를 지원하므로 URI를 사용한 동작이 가능. (이런 Restful api를 활용한 쿼리를 dsl 쿼리라고 한다.) 용어Ind..

반응형