엔지니어 블로그

Elasticsearch로 검색기능 구현 -2 본문

개인 프로젝트/Elk 검색기능 구현 프로젝트

Elasticsearch로 검색기능 구현 -2

안기용 2022. 3. 31. 08:30

지난 과정에서는 전처리를 해서 원하는 형태의 csv를 만들었다. 이번에는 완성된 data를 Ls를 통해 출력해 봤다. 

input { 
	file {
		path => "C:/logstash-7.10.1/config/seoul_data/seoul4.csv"
		start_position => "beginning"
		sincedb_path => "nul"
	}
}
filter {
	csv{
		separator => ","
		skip_header => true		
		columns => ["name","site_nm","middle_cate","detail_cate","cate","addr","load_addr","floor","date"]
	} #1
	dissect{
		mapping => {"addr" => "%{state} %{city} %{dong} %{post}"}
		mapping => {"load_addr" => "%{state_l} %{city_l} %{load} %{address}"}
	} #2
	mutate{
		remove_field => ["message","@version","host","path","state_l","city_l","post","address"]
	} #3

}


output {
	stdout{}
}

#1 => 각각의 columns는 ["name","site_nm","middle_cate","detail_cate","cate","addr","load_addr","floor","date"] 라는 영문명으로 설정해줬다. 

#2 => dissect filter를 이용하여 지번 주소와 도로명 주소를 행정 구역 단위로 분리한 후 새로운 필드에 저장했다. 

#3 => remove_field 속성을 이용해서 사용하지 않을 필드를 삭제해 줬다. 

 

위의 설정으로 출력해보니 아래와 같이 필드명이 잘 설정된 것을 확인할 수 있었다.

logstah 출력화면

 

이제 Es에 index template를 구성한 후 바로 indexing을 할 수 있게 되었다. 다음 포스팅에서는 그 부분을 다룰 것이다.