SlideShare a Scribd company logo
1 of 58
Download to read offline
Elasticsearch를 활용한 GIS 검색
GIS검색, 우리 이렇게 만들었어요!
• SW개발단 GIS서버개발TF (팀) 소속
• GIS 검색 개발 (현)
• 원내비 검색 개발 담당 (현)
이민향
Min-Hyang Yi
minhyang.yi@kt.com
Contents
1 POI 검색이란
2
Elasticsearch 를 활용한
검색 개발 경험담
3 검색 서비스의 미래
4 Q&A
POI 검색이란
검색이란?
01
POI 검색이란01
검색= 축적되어 있는 정보 중에서 필요한 정보를 찾아내는 것
검색 결과의 양 뿐만 아니라 질과 빠른 속도까지 필요
> KT 지도 검색창
2 지도 검색
> 네이버 검색창
3 음성 검색
> 카페 게시판 검색창
1 게시판 검색
01
POI(Point Of Interest)란?
POI 검색이란
POI 검색이란01
특정인이 관심을 가지는 현실 세계 또는 지도나 도면상의 특정위치
(1) 지도 위에 지리정보와 함께 좌표 등으로 표시되는 주요 시설물, 역, 공
항, 터미널, 호텔, 백화점 등을 표현하는 데이터
(2) Land Mark 또는 Way Point 라고도 말하여짐
POI 란
POI 검색이란01
특정인이 관심을 가지는 현실 세계 또는 지도나 도면상의 특정위치
지도 위에 지리정보와 함께 좌표 등으로 표시되는 주요 시설물, 역, 공항,
터미널, 호텔, 백화점 등을 표현하는 데이터
Land Mark 또는 Way Point 라고도 말하여짐
POI 란
POI 검색이란01
POI 검색 특징
검색어
Sorting
Distance
Paging
Geo Search
Elasticsearch 를 활용한 검색 개발 경험담02
왜 Elasticsearch ?
Elasticsearch 를 활용한 검색 개발 경험담02
관계형 데이터베이스(RDBMS) vs Elasticsearch
RDBMS Elasticsearch
데이터 저장 방식
색인
(Indexing)
역색인
(Inverted-Indexing)
전문(Full-Text)검색 속도 느림 빠름
의미검색 불가능 가능
JOIN 가능
제한적 가능
(사전정의必)
수정/삭제 빠름 느림
Elasticsearch 를 활용한 검색 개발 경험담02
역색인으로 빠른
전문 검색
(Full Text Search) 가능
INVERTED INDEX
&
FULL TEXT SEARCH
VARIOUS ANALYZER
SCALABILITY
&
AVAILABILITY
OPEN SOURCE
다양한 형태소 분석을 통한
자연어 처리 및 의미검색 가
능
샤드(Shard) 단위의 데이터
분산 구성
루씬(Lucene)기반
아파치 라이선스
왜 Elasticsearch 인가
Elasticsearch 를 활용한 검색 개발 경험담02
Term Document
TQ
(Term
Quantity)
엘라스틱서치 doc1 1
역색인 doc1 1
데이터 doc1, doc2 2
Document Context
doc1
엘라스틱서치는 데이
터를 역색인하여 저장
하는 검색엔진이다
doc2
관계형 데이터베이스
는 데이터를 통합 관리
하는 데이터 집합이다.
…
[ RDBMS 데이터 저장 ] [ Elasticsearch 데이터 저장 ]
Inverted index &
Full text search
Elasticsearch 를 활용한 검색 개발 경험담02
“select * from tablename where context like '%데이터%‘’
Term Document
TQ(Term
Qqu
엘라스틱서치 doc1 1
역색인 doc1 1
데이터 doc1, doc2 2
Document Context
doc1
엘라스틱서치는 데이
터를 역색인하여 저장
하는 검색엔진이다
doc2
관계형 데이터베이스
는 데이터를 통합 관리
하는 데이터 집합이다.
…
Inverted index &
Full text search
Elasticsearch 를 활용한 검색 개발 경험담02
“select * from tablename where context like '%의정부% OR context
like '%원조% OR context like '%맛집% OR context like '%부대%
context like ‘%찌개% ‘’
Term Document
TQ(Term
Qqu
의정부 doc1 1
경기도 doc1 1
맛집 doc1, doc2 2
Document Context
doc1
경기도 의정부는 맛집
이 많기로 유명하다
doc2
진정한 맛집을 찾기란
하늘의 별따기
…
Inverted index &
Full text search
Elasticsearch 를 활용한 검색 개발 경험담02
Multi Language Tokenizer
Lowercase Filter
Jamo Filter
Chosung Filter
Index Analyzer
Multi Language Tokenizer
Relative (sysnonym 등)
..
…
Search Analyzer
Searchable
Document
입력 data 검색어
① INDEX ② QUERY
Various Analyzer
Elasticsearch 를 활용한 검색 개발 경험담02
Multi Language Tokenizer
Lowercase Filter
Jamo Filter
Chosung Filter
Index Analyzer
Multi Language Tokenizer
Relative (sysnonym 등)
(ex. 개발자 = developer)
…
Search Analyzer
Searchable
Document
입력 data 검색어
① INDEX ② QUERY
SW(En) / 개발자(Ko) / 컨퍼런스(Ko)
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko)
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) /
ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) /
ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ/ㄱㅂㄹㅋㅍ
ㄹㅅ
sw(En) / developer(En) / 컨퍼런스(Ko)
↓
sw(En) / 소프트웨어 / developer(En) / 개
발자(Ko) / 컨퍼런스(Ko)
“SW개발자컨퍼런스” “sw developer 컨퍼런
스”
Various Analyzer
Elasticsearch 를 활용한 검색 개발 경험담02
Multi Language Tokenizer
Lowercase Filter
Jamo Filter
Chosung Filter
Index Analyzer
Multi Language Tokenizer
Relative (sysnonym 등)
..
…
Search Analyzer
Searchable
Document
입력 data 검색어
① INDEX ② QUERY
SW(En) / 개발자(Ko) / 컨퍼런스(Ko)
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko)
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) /
ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ
↓
SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) /
ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ/ㄱㅂㄹㅋㅍ
ㄽ
“SW개발자컨퍼런스” “sw developer 컨퍼런
스”
sw(En) / developer(En) / 컨퍼런스(Ko)
↓
sw(En) / developer(En) / 컨퍼런스(Ko) /
소프트웨어 / 개발자
Various Analyzer
Elasticsearch 를 활용한 검색 개발 경험담02
© HTTPS://DOCS.BONSAI.IO/
Scalability & Availability
Elasticsearch 를 활용한 검색 개발 경험담02
Open source
루씬(Lucene)기반
아파치 라이선스2.0
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
#1. 한글 검색
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
아버지가방에들어가신다
대학생선교회
동시흥분기점
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
• 아버지가방에들어가신다
• 아버지 / 방 / 들어가다
• 아버지 / 가방 / 들어가다
• 대학생선교회
• 대학생 / 선교 / 회
• 대학 / 생선 / 교회
• 동시흥분기점
• 동시 / 흥분 / 기점
• 동시흥 / 분기점
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
• 한글 형태소 분석기 : open-Korean-text
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
• 한글 형태소 분석기 : open-Korean-text
Word Customize Performance License
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #1. 한글 검색
02
• 한글 형태소 분석기 : open-Korean-text
Multi-Language
초성 검색
Romanize
사전 Customizing
Chunk (/&.) 수정
확률 기반 tokenizing
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
#2. 검색 적절성
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
검색어 인입 Tokenizing
3 STEP
전처리 및
Term 의미분석
2 STEP1 STEP 4 STEP
검색어
Pattern 분석
5 STEP
Query 생성
6 STEP
질의
7 STEP
결과 후 처리
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
검색어 인입 Tokenizing
3 STEP
전처리 및
Term 의미분석
2 STEP1 STEP 4 STEP
검색어
Pattern 분석
5 STEP
Query 생성
6 STEP
질의
7 STEP
결과 후 처리
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 1. 다중적 의미를 가진 검색어
“동대문곱창”
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 1. 다중적 의미를 가진 검색어
“동대문곱창”
동대문(흥인지문)
근처
곱창집??
“동대문곱창”
상호명을 가진
곱창집??
동대문구
소재
곱창집??
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 1. 다중적 의미를 가진 검색어
>> 대상선정
“동대문곱창” 지역 && 카테고리
명칭 || 별칭
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 1. 다중적 의미를 가진 검색어
>> 순위 조정
“동대문곱창” POI RANK
||
거리
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 2. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
“인천국제공항”
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 3. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
인천공항 제2터미널
및
부속 POI(15개)
인천공항 제1터미널
및
부속 POI (25개)
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 2. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
인천공항 제2터미널
및
부속 POI(15개)
인천공항 제1터미널
및
부속 POI (25개)
자동차로 간다면?
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 2. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
인천공항 제2터미널
및
부속 주차장 POI(11개)
인천공항 제1터미널
및
부속 POI (25개)
자동차로 간다면?
인천국제공항제2여객터미널장기주차장
인천국제공항제2여객터미널서편단기주차장
…..
..
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 2. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
인천공항 제2터미널
및
부속 주차장 POI(11개)
인천공항 제1터미널
및
부속 POI (25개)
자동차로 간다면?
인천국제공항제2여객터미널장기주차장
인천국제공항제2여객터미널서편단기주차장
…..
..
SQL로 질의를 한다면 .. ?
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 2. 랜드마크 검색어
>> 부속 POI가 많은 랜드마크
ES query
• 분산 된 데이터(shard) 전문 검색
• Merge 시점, score로 정렬
• 세부 조건을 query level 조정
인천공항 제1터미널 Score 12
• 인천공항 제1터미널 장기 주차장 Score 11.8
• 인천공항 제1터미널 단기 주차장 Score 11.8
…
인천공항 제2터미널 Score 10
• 인천공항 제2터미널 장기 주차장 Score 9.8
• 인천공항 제2터미널 단기 주차장 Score 9.8
…
인천공항 제1터미널 정부합동청사 Score 6
인천국제공항제2여객터미널주차대행접수장 Score
5.7
…
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 3. 맛집 검색어
“강남역맛집”
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 3. 맛집 검색어
“강남역맛집”
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 3. 맛집 검색어
>> 대상선정
강남역 주변
“강남역맛집”
=
“강남역 근처 인
기있는 음식점”
음식점 카테고리
||
명칭
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #2. 검색 적절성
02
Case 3. 맛집 검색어
>> 순위 조정
거리 || POI RANK
맛집 방송 정보 || 맛집 평가 데이터
“강남역맛집”
=
“강남역 근처 인
기있는 음식점”
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
#3. 실시간 정보 검색
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
지금 사용 가능한 충전기가 있는 전기차 충전소만
검색하려면..?
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
RDBMS Elasticsearch
데이터 저장 방식 정규화(Inverted)
역정규화(Reverse-
Inverted)
전문(Full-Text)검색 속
도
느림 빠름
의미검색 불가능 가능
JOIN 가능
제한적 가능
(사전정의必)
수정/삭제 빠름 느림
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
휘발성 데이터
빠름
잦은 변경
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
휘발성 데이터
빠름
잦은 변경
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
휘발성 데이터
빠름
잦은 변경
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
ES –REDIS 플러그인 개발
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
ES –REDIS 플러그인 개발
>> redis key – values >> es filter query
Elasticsearch 를 활용한 검색 개발 경험담
POI 검색 개발기 #3. 실시간 정보 검색
02
ES –REDIS 플러그인 개발
>> redis key – values >> es filter query
...
a1, a3, a4, a6, b2, e2
Search “available”
03
GIS 검색 서비스 향후 목표
검색 서비스의 미래
검색 서비스의 미래03
“스키장 있어”
#1. 서술형 검색어 지원
“진관사 가보자”“나노캠텍 다음 휴게소”
“제일 가까운 바닷가”
“동대구역으로”
“해돋이 좋은 장소” “교동리 데려다줘”
“진흥아파트지하에 탁구장 팔육아시안파크”
“다음 다음 휴게소”
“가장 가까운 휴게소”
“맛집 추천”
“경로상 맛집”
“가까운 찻집”
검색 서비스의 미래03
#2. 검색 추천 : 사용자 패턴 분석을 통한 검색어 추천
USER ACTION
POI 정보 시간
날씨 정보 실시간 교통정보
주변 맛집
카테고리(메뉴) 맛집 정보
이가네양꼬치
중식
(양꼬치)
망고플레이트
★★★★
PLUSABLE
(플러스에이블)
주점
(돈가스덮밥,수제맥주)
식신로드
망고플레이트
★★★
우촌
한식
(한우생등심,평양냉면)
생활의달인 방영
온담
국수전문
(얼큰칼국수,김치찌개)
생생정보통신 방
영
양재해장국
한식
(해장국,감자탕)
망고플레이트
★★★★
제주흑다돈
(양재직영점)
한식
(오겹살,가브리살)
그린실버고향이
좋다 방영
진대감
(양재점)
한식
식객남녀잘먹었
습니다 방영
우판대감
한식
(전복갈비탕)
생생정보통신 방
영
+ )
Q&A04
Q&A
감사합니다.

More Related Content

What's hot

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Web Services Korea
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례Anson Park
 
MySQLのプロトコル解説
MySQLのプロトコル解説MySQLのプロトコル解説
MySQLのプロトコル解説Masahiro Tomita
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon Web Services Korea
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
[2018] 구조화된 검색 모델
[2018] 구조화된 검색 모델[2018] 구조화된 검색 모델
[2018] 구조화된 검색 모델NHN FORWARD
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)Jaikwang Lee
 
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編まべ☆てっく運営
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Amazon Web Services
 
Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리정명훈 Jerry Jeong
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseShotaro Suzuki
 

What's hot (20)

마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019
KINX와 함께 하는 AWS Direct Connect 도입 - 남시우 매니저, KINX :: AWS Summit Seoul 2019
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례
 
MySQLのプロトコル解説
MySQLのプロトコル解説MySQLのプロトコル解説
MySQLのプロトコル解説
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
[2018] 구조화된 검색 모델
[2018] 구조화된 검색 모델[2018] 구조화된 검색 모델
[2018] 구조화된 검색 모델
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
 
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
 
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
 
Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 Release
 

Similar to Elasticsearch를 활용한 GIS 검색

정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)크몽
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
Google Birth2
Google Birth2Google Birth2
Google Birth2imscott
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)Eunchan Lee
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptxGwangho Kim
 
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture상래 노
 
AI 유저리서치를 할 수 있을까?
AI 유저리서치를 할 수 있을까?AI 유저리서치를 할 수 있을까?
AI 유저리서치를 할 수 있을까?Myuserable
 
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)Soo Yeon Jung
 
Search engine mechanism(기초 검색엔진 작업구조)
Search engine mechanism(기초 검색엔진 작업구조)Search engine mechanism(기초 검색엔진 작업구조)
Search engine mechanism(기초 검색엔진 작업구조)rupert kim
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Eunyoung Kim
 
구글Vs네이버 3조 검,광고,킬러앱
구글Vs네이버 3조 검,광고,킬러앱구글Vs네이버 3조 검,광고,킬러앱
구글Vs네이버 3조 검,광고,킬러앱Webometrics Class
 
특허검색 Wips on manual(20160421)
특허검색 Wips on manual(20160421)특허검색 Wips on manual(20160421)
특허검색 Wips on manual(20160421)POSTECH Library
 
Technology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebTechnology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebSaltlux Inc.
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 
왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나소리 강
 
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육 Rjs Ryu
 
제 13회 인터넷리더십프로그램_ 검색서비스 전은서
제 13회 인터넷리더십프로그램_ 검색서비스 전은서 제 13회 인터넷리더십프로그램_ 검색서비스 전은서
제 13회 인터넷리더십프로그램_ 검색서비스 전은서 daumfoundation
 

Similar to Elasticsearch를 활용한 GIS 검색 (20)

정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
Google Birth2
Google Birth2Google Birth2
Google Birth2
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx
 
Seo
SeoSeo
Seo
 
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
2019.06 devgroud kurly-advanced analyticsteam-aboutourdataculture
 
AI 유저리서치를 할 수 있을까?
AI 유저리서치를 할 수 있을까?AI 유저리서치를 할 수 있을까?
AI 유저리서치를 할 수 있을까?
 
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)
빅데이터 검색 솔루션 코난 서치4 (KONAN Search 4)
 
Search engine mechanism(기초 검색엔진 작업구조)
Search engine mechanism(기초 검색엔진 작업구조)Search engine mechanism(기초 검색엔진 작업구조)
Search engine mechanism(기초 검색엔진 작업구조)
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5
 
구글Vs네이버 3조 검,광고,킬러앱
구글Vs네이버 3조 검,광고,킬러앱구글Vs네이버 3조 검,광고,킬러앱
구글Vs네이버 3조 검,광고,킬러앱
 
특허검색 Wips on manual(20160421)
특허검색 Wips on manual(20160421)특허검색 Wips on manual(20160421)
특허검색 Wips on manual(20160421)
 
Technology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebTechnology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic Web
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 
왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나
 
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육
 
제 13회 인터넷리더십프로그램_ 검색서비스 전은서
제 13회 인터넷리더십프로그램_ 검색서비스 전은서 제 13회 인터넷리더십프로그램_ 검색서비스 전은서
제 13회 인터넷리더십프로그램_ 검색서비스 전은서
 

More from ksdc2019

한국에서도 애자일과 DevOps 할 수 있다
한국에서도 애자일과 DevOps 할 수 있다한국에서도 애자일과 DevOps 할 수 있다
한국에서도 애자일과 DevOps 할 수 있다ksdc2019
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기ksdc2019
 
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화ksdc2019
 
자율 주행 플랫폼 개발을 통한 IT Transformation
자율 주행 플랫폼 개발을 통한 IT Transformation자율 주행 플랫폼 개발을 통한 IT Transformation
자율 주행 플랫폼 개발을 통한 IT Transformationksdc2019
 
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅ksdc2019
 
5G 시대의 자율 주행, 기술 변화 트렌드
5G 시대의 자율 주행, 기술 변화 트렌드5G 시대의 자율 주행, 기술 변화 트렌드
5G 시대의 자율 주행, 기술 변화 트렌드ksdc2019
 
경로탐색은 어떻게 하는걸까
경로탐색은 어떻게 하는걸까경로탐색은 어떻게 하는걸까
경로탐색은 어떻게 하는걸까ksdc2019
 
쿠버네티스 기반의 5G V2X Mediation Cluster 개발
쿠버네티스 기반의 5G V2X Mediation Cluster 개발쿠버네티스 기반의 5G V2X Mediation Cluster 개발
쿠버네티스 기반의 5G V2X Mediation Cluster 개발ksdc2019
 
AI-IoT 연동을 위한 KT GiGA Genie Home Skills
AI-IoT 연동을 위한 KT GiGA Genie Home SkillsAI-IoT 연동을 위한 KT GiGA Genie Home Skills
AI-IoT 연동을 위한 KT GiGA Genie Home Skillsksdc2019
 
GiGA Genie는 왜 Web App을 선택했는가?
GiGA Genie는 왜 Web App을 선택했는가?GiGA Genie는 왜 Web App을 선택했는가?
GiGA Genie는 왜 Web App을 선택했는가?ksdc2019
 
GiGA Genie를 위한 Text Analytics 기술
GiGA Genie를 위한 Text Analytics 기술GiGA Genie를 위한 Text Analytics 기술
GiGA Genie를 위한 Text Analytics 기술ksdc2019
 

More from ksdc2019 (11)

한국에서도 애자일과 DevOps 할 수 있다
한국에서도 애자일과 DevOps 할 수 있다한국에서도 애자일과 DevOps 할 수 있다
한국에서도 애자일과 DevOps 할 수 있다
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
 
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화
GiGA Genie 음성/대화 품질 향상을 위한 독음 데이터 가공 자동화
 
자율 주행 플랫폼 개발을 통한 IT Transformation
자율 주행 플랫폼 개발을 통한 IT Transformation자율 주행 플랫폼 개발을 통한 IT Transformation
자율 주행 플랫폼 개발을 통한 IT Transformation
 
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
 
5G 시대의 자율 주행, 기술 변화 트렌드
5G 시대의 자율 주행, 기술 변화 트렌드5G 시대의 자율 주행, 기술 변화 트렌드
5G 시대의 자율 주행, 기술 변화 트렌드
 
경로탐색은 어떻게 하는걸까
경로탐색은 어떻게 하는걸까경로탐색은 어떻게 하는걸까
경로탐색은 어떻게 하는걸까
 
쿠버네티스 기반의 5G V2X Mediation Cluster 개발
쿠버네티스 기반의 5G V2X Mediation Cluster 개발쿠버네티스 기반의 5G V2X Mediation Cluster 개발
쿠버네티스 기반의 5G V2X Mediation Cluster 개발
 
AI-IoT 연동을 위한 KT GiGA Genie Home Skills
AI-IoT 연동을 위한 KT GiGA Genie Home SkillsAI-IoT 연동을 위한 KT GiGA Genie Home Skills
AI-IoT 연동을 위한 KT GiGA Genie Home Skills
 
GiGA Genie는 왜 Web App을 선택했는가?
GiGA Genie는 왜 Web App을 선택했는가?GiGA Genie는 왜 Web App을 선택했는가?
GiGA Genie는 왜 Web App을 선택했는가?
 
GiGA Genie를 위한 Text Analytics 기술
GiGA Genie를 위한 Text Analytics 기술GiGA Genie를 위한 Text Analytics 기술
GiGA Genie를 위한 Text Analytics 기술
 

Elasticsearch를 활용한 GIS 검색

  • 1. Elasticsearch를 활용한 GIS 검색 GIS검색, 우리 이렇게 만들었어요!
  • 2. • SW개발단 GIS서버개발TF (팀) 소속 • GIS 검색 개발 (현) • 원내비 검색 개발 담당 (현) 이민향 Min-Hyang Yi minhyang.yi@kt.com
  • 3. Contents 1 POI 검색이란 2 Elasticsearch 를 활용한 검색 개발 경험담 3 검색 서비스의 미래 4 Q&A
  • 5. POI 검색이란01 검색= 축적되어 있는 정보 중에서 필요한 정보를 찾아내는 것 검색 결과의 양 뿐만 아니라 질과 빠른 속도까지 필요 > KT 지도 검색창 2 지도 검색 > 네이버 검색창 3 음성 검색 > 카페 게시판 검색창 1 게시판 검색
  • 7. POI 검색이란01 특정인이 관심을 가지는 현실 세계 또는 지도나 도면상의 특정위치 (1) 지도 위에 지리정보와 함께 좌표 등으로 표시되는 주요 시설물, 역, 공 항, 터미널, 호텔, 백화점 등을 표현하는 데이터 (2) Land Mark 또는 Way Point 라고도 말하여짐 POI 란
  • 8. POI 검색이란01 특정인이 관심을 가지는 현실 세계 또는 지도나 도면상의 특정위치 지도 위에 지리정보와 함께 좌표 등으로 표시되는 주요 시설물, 역, 공항, 터미널, 호텔, 백화점 등을 표현하는 데이터 Land Mark 또는 Way Point 라고도 말하여짐 POI 란
  • 9. POI 검색이란01 POI 검색 특징 검색어 Sorting Distance Paging Geo Search
  • 10. Elasticsearch 를 활용한 검색 개발 경험담02 왜 Elasticsearch ?
  • 11. Elasticsearch 를 활용한 검색 개발 경험담02 관계형 데이터베이스(RDBMS) vs Elasticsearch RDBMS Elasticsearch 데이터 저장 방식 색인 (Indexing) 역색인 (Inverted-Indexing) 전문(Full-Text)검색 속도 느림 빠름 의미검색 불가능 가능 JOIN 가능 제한적 가능 (사전정의必) 수정/삭제 빠름 느림
  • 12. Elasticsearch 를 활용한 검색 개발 경험담02 역색인으로 빠른 전문 검색 (Full Text Search) 가능 INVERTED INDEX & FULL TEXT SEARCH VARIOUS ANALYZER SCALABILITY & AVAILABILITY OPEN SOURCE 다양한 형태소 분석을 통한 자연어 처리 및 의미검색 가 능 샤드(Shard) 단위의 데이터 분산 구성 루씬(Lucene)기반 아파치 라이선스 왜 Elasticsearch 인가
  • 13. Elasticsearch 를 활용한 검색 개발 경험담02 Term Document TQ (Term Quantity) 엘라스틱서치 doc1 1 역색인 doc1 1 데이터 doc1, doc2 2 Document Context doc1 엘라스틱서치는 데이 터를 역색인하여 저장 하는 검색엔진이다 doc2 관계형 데이터베이스 는 데이터를 통합 관리 하는 데이터 집합이다. … [ RDBMS 데이터 저장 ] [ Elasticsearch 데이터 저장 ] Inverted index & Full text search
  • 14. Elasticsearch 를 활용한 검색 개발 경험담02 “select * from tablename where context like '%데이터%‘’ Term Document TQ(Term Qqu 엘라스틱서치 doc1 1 역색인 doc1 1 데이터 doc1, doc2 2 Document Context doc1 엘라스틱서치는 데이 터를 역색인하여 저장 하는 검색엔진이다 doc2 관계형 데이터베이스 는 데이터를 통합 관리 하는 데이터 집합이다. … Inverted index & Full text search
  • 15. Elasticsearch 를 활용한 검색 개발 경험담02 “select * from tablename where context like '%의정부% OR context like '%원조% OR context like '%맛집% OR context like '%부대% context like ‘%찌개% ‘’ Term Document TQ(Term Qqu 의정부 doc1 1 경기도 doc1 1 맛집 doc1, doc2 2 Document Context doc1 경기도 의정부는 맛집 이 많기로 유명하다 doc2 진정한 맛집을 찾기란 하늘의 별따기 … Inverted index & Full text search
  • 16. Elasticsearch 를 활용한 검색 개발 경험담02 Multi Language Tokenizer Lowercase Filter Jamo Filter Chosung Filter Index Analyzer Multi Language Tokenizer Relative (sysnonym 등) .. … Search Analyzer Searchable Document 입력 data 검색어 ① INDEX ② QUERY Various Analyzer
  • 17. Elasticsearch 를 활용한 검색 개발 경험담02 Multi Language Tokenizer Lowercase Filter Jamo Filter Chosung Filter Index Analyzer Multi Language Tokenizer Relative (sysnonym 등) (ex. 개발자 = developer) … Search Analyzer Searchable Document 입력 data 검색어 ① INDEX ② QUERY SW(En) / 개발자(Ko) / 컨퍼런스(Ko) ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) / ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) / ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ/ㄱㅂㄹㅋㅍ ㄹㅅ sw(En) / developer(En) / 컨퍼런스(Ko) ↓ sw(En) / 소프트웨어 / developer(En) / 개 발자(Ko) / 컨퍼런스(Ko) “SW개발자컨퍼런스” “sw developer 컨퍼런 스” Various Analyzer
  • 18. Elasticsearch 를 활용한 검색 개발 경험담02 Multi Language Tokenizer Lowercase Filter Jamo Filter Chosung Filter Index Analyzer Multi Language Tokenizer Relative (sysnonym 등) .. … Search Analyzer Searchable Document 입력 data 검색어 ① INDEX ② QUERY SW(En) / 개발자(Ko) / 컨퍼런스(Ko) ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) / ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ ↓ SW(En) / sw(En) / 개발자(Ko) / 컨퍼런스(Ko) / ㄱㅐㅂㅏㄹㅈㅏㅋㅓㄴㅍㅓㄹㅓㄴㅅㅡ/ㄱㅂㄹㅋㅍ ㄽ “SW개발자컨퍼런스” “sw developer 컨퍼런 스” sw(En) / developer(En) / 컨퍼런스(Ko) ↓ sw(En) / developer(En) / 컨퍼런스(Ko) / 소프트웨어 / 개발자 Various Analyzer
  • 19. Elasticsearch 를 활용한 검색 개발 경험담02 © HTTPS://DOCS.BONSAI.IO/ Scalability & Availability
  • 20. Elasticsearch 를 활용한 검색 개발 경험담02 Open source 루씬(Lucene)기반 아파치 라이선스2.0
  • 21. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 #1. 한글 검색
  • 22. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 아버지가방에들어가신다 대학생선교회 동시흥분기점
  • 23. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 • 아버지가방에들어가신다 • 아버지 / 방 / 들어가다 • 아버지 / 가방 / 들어가다 • 대학생선교회 • 대학생 / 선교 / 회 • 대학 / 생선 / 교회 • 동시흥분기점 • 동시 / 흥분 / 기점 • 동시흥 / 분기점
  • 24. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 • 한글 형태소 분석기 : open-Korean-text
  • 25. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 • 한글 형태소 분석기 : open-Korean-text Word Customize Performance License
  • 26. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #1. 한글 검색 02 • 한글 형태소 분석기 : open-Korean-text Multi-Language 초성 검색 Romanize 사전 Customizing Chunk (/&.) 수정 확률 기반 tokenizing
  • 27. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 #2. 검색 적절성
  • 28. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 검색어 인입 Tokenizing 3 STEP 전처리 및 Term 의미분석 2 STEP1 STEP 4 STEP 검색어 Pattern 분석 5 STEP Query 생성 6 STEP 질의 7 STEP 결과 후 처리
  • 29. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 검색어 인입 Tokenizing 3 STEP 전처리 및 Term 의미분석 2 STEP1 STEP 4 STEP 검색어 Pattern 분석 5 STEP Query 생성 6 STEP 질의 7 STEP 결과 후 처리
  • 30. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 1. 다중적 의미를 가진 검색어 “동대문곱창”
  • 31. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 1. 다중적 의미를 가진 검색어 “동대문곱창” 동대문(흥인지문) 근처 곱창집?? “동대문곱창” 상호명을 가진 곱창집?? 동대문구 소재 곱창집??
  • 32. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 1. 다중적 의미를 가진 검색어 >> 대상선정 “동대문곱창” 지역 && 카테고리 명칭 || 별칭
  • 33. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 1. 다중적 의미를 가진 검색어 >> 순위 조정 “동대문곱창” POI RANK || 거리
  • 34. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 2. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 “인천국제공항”
  • 35. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 3. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 인천공항 제2터미널 및 부속 POI(15개) 인천공항 제1터미널 및 부속 POI (25개)
  • 36. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 2. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 인천공항 제2터미널 및 부속 POI(15개) 인천공항 제1터미널 및 부속 POI (25개) 자동차로 간다면?
  • 37. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 2. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 인천공항 제2터미널 및 부속 주차장 POI(11개) 인천공항 제1터미널 및 부속 POI (25개) 자동차로 간다면? 인천국제공항제2여객터미널장기주차장 인천국제공항제2여객터미널서편단기주차장 ….. ..
  • 38. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 2. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 인천공항 제2터미널 및 부속 주차장 POI(11개) 인천공항 제1터미널 및 부속 POI (25개) 자동차로 간다면? 인천국제공항제2여객터미널장기주차장 인천국제공항제2여객터미널서편단기주차장 ….. .. SQL로 질의를 한다면 .. ?
  • 39. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 2. 랜드마크 검색어 >> 부속 POI가 많은 랜드마크 ES query • 분산 된 데이터(shard) 전문 검색 • Merge 시점, score로 정렬 • 세부 조건을 query level 조정 인천공항 제1터미널 Score 12 • 인천공항 제1터미널 장기 주차장 Score 11.8 • 인천공항 제1터미널 단기 주차장 Score 11.8 … 인천공항 제2터미널 Score 10 • 인천공항 제2터미널 장기 주차장 Score 9.8 • 인천공항 제2터미널 단기 주차장 Score 9.8 … 인천공항 제1터미널 정부합동청사 Score 6 인천국제공항제2여객터미널주차대행접수장 Score 5.7 …
  • 40. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 3. 맛집 검색어 “강남역맛집”
  • 41. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 3. 맛집 검색어 “강남역맛집”
  • 42. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 3. 맛집 검색어 >> 대상선정 강남역 주변 “강남역맛집” = “강남역 근처 인 기있는 음식점” 음식점 카테고리 || 명칭
  • 43. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #2. 검색 적절성 02 Case 3. 맛집 검색어 >> 순위 조정 거리 || POI RANK 맛집 방송 정보 || 맛집 평가 데이터 “강남역맛집” = “강남역 근처 인 기있는 음식점”
  • 44. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 #3. 실시간 정보 검색
  • 45. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 지금 사용 가능한 충전기가 있는 전기차 충전소만 검색하려면..?
  • 46. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 RDBMS Elasticsearch 데이터 저장 방식 정규화(Inverted) 역정규화(Reverse- Inverted) 전문(Full-Text)검색 속 도 느림 빠름 의미검색 불가능 가능 JOIN 가능 제한적 가능 (사전정의必) 수정/삭제 빠름 느림
  • 47. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 휘발성 데이터 빠름 잦은 변경
  • 48. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 휘발성 데이터 빠름 잦은 변경
  • 49. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 휘발성 데이터 빠름 잦은 변경
  • 50. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 ES –REDIS 플러그인 개발
  • 51. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 ES –REDIS 플러그인 개발 >> redis key – values >> es filter query
  • 52. Elasticsearch 를 활용한 검색 개발 경험담 POI 검색 개발기 #3. 실시간 정보 검색 02 ES –REDIS 플러그인 개발 >> redis key – values >> es filter query ... a1, a3, a4, a6, b2, e2 Search “available”
  • 53. 03 GIS 검색 서비스 향후 목표 검색 서비스의 미래
  • 54. 검색 서비스의 미래03 “스키장 있어” #1. 서술형 검색어 지원 “진관사 가보자”“나노캠텍 다음 휴게소” “제일 가까운 바닷가” “동대구역으로” “해돋이 좋은 장소” “교동리 데려다줘” “진흥아파트지하에 탁구장 팔육아시안파크” “다음 다음 휴게소” “가장 가까운 휴게소” “맛집 추천” “경로상 맛집” “가까운 찻집”
  • 55. 검색 서비스의 미래03 #2. 검색 추천 : 사용자 패턴 분석을 통한 검색어 추천 USER ACTION POI 정보 시간 날씨 정보 실시간 교통정보
  • 56. 주변 맛집 카테고리(메뉴) 맛집 정보 이가네양꼬치 중식 (양꼬치) 망고플레이트 ★★★★ PLUSABLE (플러스에이블) 주점 (돈가스덮밥,수제맥주) 식신로드 망고플레이트 ★★★ 우촌 한식 (한우생등심,평양냉면) 생활의달인 방영 온담 국수전문 (얼큰칼국수,김치찌개) 생생정보통신 방 영 양재해장국 한식 (해장국,감자탕) 망고플레이트 ★★★★ 제주흑다돈 (양재직영점) 한식 (오겹살,가브리살) 그린실버고향이 좋다 방영 진대감 (양재점) 한식 식객남녀잘먹었 습니다 방영 우판대감 한식 (전복갈비탕) 생생정보통신 방 영 + )