300x250
반응형

DB/ElasticSearch 16

[ElasticSearch] 검색( search) API 사용법과 Query DSL 요약 정리

사전 지식 Elasticsearch는 검색을 위한 REST API를 제공한다. 검색은 인덱스(Index) 또는 타입(Type) 단위로 수행할 수 있다. 검색 결과는 JSON 형식으로 반환한다. 💻 터미널에서 curl을 이용해서 검색 요청 # 검색 요청 샘플 살펴보기 $ curl 'http://127.0.0.1:9200/books/_search?q=title:awesome&pretty' ### 결과 { "took": 5, # 검색에 소요된 시간(ms) "_shard": { # 샤드 정보 "total": 2, "successful": 2, "failed": 0 }, "hits": { "total": 1, # 결과 개수 "max_score": 0.3708323, # 검색 결과 중 가장 높은 스코어 "hits"..

DB/ElasticSearch 2023.02.09

[ElasticSearch]Logstash jdbc 연결(MSSQL)

Logstash 를 통해 간단하기 DB에 있는 내용을 ES(ElasticSearch)로 색인하기 현재 내부적으로 전처리를 해야 할 부분이 많기에 Java로 수집기를 만들어서 사용하고 있다. ES가 유행하기 전에 수집기를 Java기반으로 만들어서 사용을 해서 편하게 사용을 했으나 ES에서 logstash를 수집기를 패키지화(?)하여 배포하고 있다. 1. Logstash 다운로드 받는다. (2.X 버젼 사용) 2. logstash.conf 파일을 설정한다. 여러가지 고려를 많이 해야겠지만 현재 table 전체 데이터를 ES에 생성한다. logstash.conf input { jdbc { jdbc_driver_library => "sqljdbc4.jar" jdbc_driver_class => "com.micr..

DB/ElasticSearch 2023.02.09

[ElasticSearch] ELK 사용하여 로그분석 시스템 만들기 (MS-SQL 연동)

Mssql에 쌓이는 로그들을 분석하기 위한 시스템 구축 구성요소 설치 대상 서버 : Windows Server 2012 R2 VersionRole Logstash 7.11 로그 수집, Parsing, Indexing Elasticsearch 7.11 데이터 저장, 분석, 검색 엔진 Kibana 7.11 시각화 도구 MSSQL JDBC Driver 7.2 Java프로그램에서 MSSQL 접근을 위한 프로그램 ELK 7 Version 사용 이유 ELK 7 Version은 OpenJDK가 Bundle로 구성되어 사용가능함Oracle JAVA 사용할 필요가 없음!! 무료버전에서 핵심 보안 기능 제공 암호화된 통신 역할 기반 액세스 제어 자세한 내용은 Elastic Stack 구독 페이지 참고 Alert 기능의 부..

DB/ElasticSearch 2023.02.09

[ElasticSearch] 기본 개념과 특징(장단점) + 써야 하는 8가지 이유

Lucene 검색엔진의 시초, Lucene 모든 검색엔진의 시초는 루씬(Lucene). 더그 커팅이 고안한 역색인(Inverted Index) 구조인 아파치 루씬을 기반으로 분산처리를 가능하게 한 아파치 솔라(Solr)가 등장해서 검색엔진 시장을 장악했고, 몇 년 후에 역시 루씬을 기반으로 한 Elastic Search가 등장해 지금은 검색엔진 분야에서 지배적인 위치에 있다. 서치엔진 순위 트렌드. 2016년 무렵부터 ES가 가장 많이 사용되고 있다.(https://db-engines.com/en/ranking_trend/search+engine) ES와 RDBMS 조금 더 쉬운 개념 파악을 위해서 ES에서 사용되는 데이터 구조를 RDBMS에 대응해보면 다음과 같이 맵핑된다. 데이터 구조 Elastic ..

DB/ElasticSearch 2023.02.09

[ElasticSearch] 엘라스틱서치 ( elasticsearch ) 인덱스 생성, CRUD , ...

#엘라스틱서치 ( #elasticsearch ) 에 #인덱스 를 생성하고 #매핑 을 설정한 후 실제로 데이터를 insert, delete, select 등을 해봅시다. ​ 엘라스틱서치가 DB 이지만 일반 DB와 다른 용어를 사용하기에 용어정리를 잠깐 하겠습니다. 일반 RDB 엘라스틱서치 비고 Database, table index , type 일반 RDB는 하나의 Database 내에 여러개의 table을 가질수 있으나, 엘라스틱서치 6 (?)부터는 index당 오직 하나의 type 만 가질수 있습니다. 엘라스틱서치 7 에서는 일부 명령어에 type 부분을 생략하는게 디폴트로 되어 있습니다. row document column field schema mapping name: varchar age: int..

DB/ElasticSearch 2023.02.09

[ElasticSearch] ELK(ElasticSearch, Logstash, Kibana) 란? ELK Stack 이란?

1. ELK 란? 현재 4차산업시대에서 데이터는 가장 중요한 자산중 하나로 손꼽힌다. 빅 데이터는 통상적으로 사용되는 데이터 수집, 관리 및 처리 소프트웨어의 수용 한계를 넘어서는 크기의 데이터를 말한다. 빅 데이터의 사이즈는 단일 데이터 집합의 크기가 수십 테라바이트에서 수 페타바이트에 이르며, 그 크기가 끊임없이 변화하는 것이 특징이다. ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이다. ELK는 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구이다. 1) ElasticSearch - ElasticSearch는 Lucene 기반으로 개발한 분산 검색엔진으로..

DB/ElasticSearch 2023.02.06

[ElasticSearch]Logstash와 JDBC를 사용해 Elasticsearch와 관계형 데이터베이스의 동기화를 유지하는 방법

Elasticsearch가 제공하는 강력한 검색 기능을 활용하기 위해, 수많은 사업체들이 기존의 관계형 데이터베이스와 동시에 Elasticsearch를 배포하게 됩니다. 그러한 시나리오에서는, 연결된 관계형 데이터베이스에 저장된 데이터와 Elasticsearch의 동기화를 유지하는 것이 필요할 가능성이 큽니다. 따라서, 이 블로그 포스팅에서는 어떻게 Logstash를 이용해 효율적으로 관계형 데이터베이스에서 Elasticsearch로 레코드를 복사해 업데이트를 동기화하는지 보여드리려고 합니다. 여기에서 보여드리는 코드와 방법은 MySQL을 이용해 테스트되었지만, 이론적으로는 모든 RDBMS에서 작동해야 합니다. 시스템 구성 이 블로그에서는 다음으로 테스트를 진행했습니다. MySQL: 8.0.16. Ela..

DB/ElasticSearch 2023.02.06

[ElasticSearch] 설치 및 은전한닢(ev 6.1.4, pv 6.1.1.1) for Ubuntu

# ev 6.7.0에 pv 6.1.1.1은 설치는 가능한대, 작동이 안되요! 아래 글은 삽질 과정이 포함되어 있습니다! # 6.7.0으로 시도했다가 안되서 6.1.4로 재시도 하였습니다. # ES 7은 프로덕션모드로 실행하기 위해서 discovery.seed_hosts와 cluster.initial_master_nodes를 지정해야해요. 찾아보자 찾아보자~~ 1. ElasticSearch 설치 일단 현재 ES 최신버전은 6.7.0 https://www.elastic.co/kr/downloads/elasticsearch 저장소 등록 후 apt-get 또는 deb를 내려받아서 패키지 설치를 CentOS라면 rpm 설치 하시면 되겠지용? 하지만, 저는 https://artifacts.elastic.co/dow..

DB/ElasticSearch 2023.02.06

[ElasticSearch]유사어, 금지어 활용

금지어(불용어)의 경우 색인 데이터로 의미가 없는 조사,접속사 등을 제외시켜주는 역할을 한다. 조사, 부사, 접속사 같은 경우는 보통 시스템 금지어(불용어)로 분류되어 관리되어 진다. 사용자 금지어(불용어)의 경우 욕설이나 특정 키워드에 대해서 검색 대상에 제외시키는 방법이다. 해당 시스템이나 정책에 따라 관리를 하면 된다. 유사어의 경우 사용자가 codezip 을 검색을 했지만 "코드집"에 대해서도 검색 결과에 반영해 주는 역할을 한다. 한글/영문에 대한 부분 / 혼돈하기 쉬운 오타등 다양하게 활용할 수 있다. 검색 서비스의 경우 다양한 방법으로 해법을 찾을 수 있다. 다음은 ES에서 제공해 주는 설정하는 방법을 해 볼 예정이다. ES (analysis 설정) "analysis": { "filter":..

DB/ElasticSearch 2023.02.06
300x250
반응형