Database/ElasticSearch

Database/ElasticSearch

[ES] 엘라스틱서치의 인덱스, 인덱스 수명주기 관리 (ILM)

엘라스틱서치의 인덱스엘라스틱서치의 인덱스는 중심적인 데이터 구조로서, 전체 데이터를 저장하고 관리하는 데 사용됨.인덱스는 매우 유연하며, 다양한 종류의 검색 작업에 최적화되어 있음. 1. 인덱스의 개념 및 정의1.1 인덱스 구조엘라스틱서치의 인덱스는 아파치 루씬을 기반으로 한 역 인덱스 구조를 사용함.이 구조는 데이터를 효율적으로 검색할 수 있도록 설계된 것으로, 각 단어와 그 단어가 포함된 문서의 목록을 매핑함. 1.2 인덱스 생성사용자는 JSON 형식의 문서를 엘라스틱서치에 제출함.이 문서들은 자동으로 색인화되어 인덱스에 저장됨.인덱스는 검색 쿼리에 응답하기 위해 필요한 모든 정보를 포함함. 2. 매핑2.1 매핑 정의매핑은 인덱스에 포함된 문서들의 구조를 정의함.각 필드의 데이터 타입, 인덱스 방법,..

Database/ElasticSearch

[ES] 엘라스틱서치의 구조 및 색인

엘라스틱서치의 구조엘라스틱서치는 아파치 루씬을 기반으로 하는 분산 검색 엔진임.이 구조는 매우 유연하고 확장 가능하며, 실시간 데이터 검색과 분석을 위한 강력한 기능을 제공함. 1. 노드와 클러스터1.1 노드엘라스틱서치에서 하나의 서버 인스턴스를 노드라고 부름.각 노드는 클러스터의 일부로서 데이터를 저장하고 클러스터의 색인 생성, 검색 기능을 처리함. 1.2 클러스터여러 노드가 모여 하나의 클러스터를 형성함.클러스터는 전체 데이터를 저장하고, 모든 색인 및 검색 기능을 관리함.클러스터는 하나 이상의 노드로 구성될 수 있으며, 하나의 노드만으로도 클러스터를 형성할 수 있음. 2. 인덱스엘라스틱서치의 인덱스는 유사한 특성을 가진 문서들의 집합임.인덱스는 관계형 데이터베이스의 데이터베이스와 비슷한 개념으로 이..

Database/ElasticSearch

[ES] 엘라스틱서치의 장점

엘라스틱서치의 장점엘라스틱서치는 아파치 루씬 기반의 오픈 소스 검색 엔진임.전문 검색, 구조화된 검색, 분석 기능을 제공함.데이터를 실시간으로 검색하고 분석하는 데 매우 유용하며, 다양한 장점을 통해 많은 기업에서 널리 사용됨. 1. 분산 처리 시스템엘라스틱서치는 데이터를 자동으로 여러 노드에 분산하여 저장함.이를 통해 높은 가용성과 확장성을 보장함.사용자는 각 검색 요청이 다수의 노드에서 동시에 처리되도록 구성할 수 있으며, 이로 인해 대규모 데이터셋도 빠르게 처리할 수 있음. 2. 실시간 검색과 분석엘라스틱서치는 거의 실시간으로 데이터를 색인화하고 검색 결과를 반환할 수 있음.새로운 데이터가 엘라스틱서치 클러스터에 추가되면, 이는 즉시 검색 가능한 상태가 됨.이는 온라인 쇼핑, 로그 분석, 실시간 모..

Database/ElasticSearch

[logstash] input file output mysql pipeline .conf

input file output mysql input { file { path => "/usr/share/logstash/test/2_minio_file.csv" start_position => "beginning" sincedb_path => "/dev/null" codec => "json" } } filter { } output { jdbc { driver_jar_path => "/usr/share/logstash/jarfile/mysql-connector-java-8.0.15.jar" driver_class => "com.mysql.jdbc.Driver" connection_string => "jdbc:mysql://mysql:3306/test_db?user=root&password=root" st..

Database/ElasticSearch

[logstash] input file output minio pipeline .conf

input file output minio input { file { path => "/usr/share/logstash/test/2_minio_file.csv" start_position => "beginning" sincedb_path => "/dev/null" codec => "json" } } filter { } output { s3 { access_key_id => "minio" secret_access_key => "minio123" bucket => "bucketcpi" endpoint => "http://nginx:9000" additional_settings => { force_path_style => true follow_redirects => false } rotation_strate..

Database/ElasticSearch

[logstash] input api output elasticsearch pipeline .conf

input api output elasticsearch input { http_poller { urls => { myurl => "http://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=5af8b7bbeacd98abe5e5e4b84a46d520" } schedule => { cron => "*/1 * * * * UTC" } codec => "json" } } filter { mutate { copy => { "[main][pressure]" => "[main_pressure]" "[main][humidity]" => "[main_humidity]" "[main][temp_max]" => "[main_temp_max]" "[main][grnd_level..

Database/ElasticSearch

[logstash] input api output kafka pipeline .conf

input api output kafka input { http_poller { urls => { myurl => "http://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=5af8b7bbeacd98abe5e5e4b84a46d520" } schedule => { cron => "*/1 * * * * UTC" } codec => "json" } } filter { mutate { remove_field => ["weather"] } ruby { code => "event.set('@timestamp', LogStash::Timestamp.new(event.get('@timestamp')+(9*60*60)))" } } output { kafka { boot..

Database/ElasticSearch

[logstash] input minio output file pipeline .conf

input minio output file input { s3 { access_key_id => "minio" secret_access_key => "minio123" bucket => "bucketfpi" endpoint => "http://nginx:9000" additional_settings => { force_path_style => true follow_redirects => false } codec => "json" } } filter { } output { file { path => "/usr/share/logstash/test/2_minio_file.csv" } }

Database/ElasticSearch

[logstash] input api output minio pipeline .conf

input api output minio input { http_poller { urls => { myurl => "http://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=5af8b7bbeacd98abe5e5e4b84a46d520" } schedule => { cron => "*/1 * * * * UTC" } codec => "json" } } filter { } output { s3 { access_key_id => "minio" secret_access_key => "minio123" bucket => "apibucket" endpoint => "http://nginx:9000" additional_settings => { force_path_st..

Database/ElasticSearch

[logstash] input api output file pipeline .conf

input api output file input { http_poller { urls => { myurl => "http://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=5af8b7bbeacd98abe5e5e4b84a46d520" } schedule => { cron => "*/1 * * * * UTC" } codec => "json" } } filter { } output { file { path => "/usr/share/logstash/test/0_api_file.csv" # start_position => "beginning" # sincedb_path => "/dev/null" } }

박경태
'Database/ElasticSearch' 카테고리의 글 목록