PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

DIY 챗봇 - LangCon

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

게시판 스팸 실시간 차단 시스템

C# Programming Guide - Types

歯sql_tuning2

MySQL-.. 1

elastic-meetup

Observational Determinism for Concurrent Program Security

슬라이드 1

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항


자식농사웹완

chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._



전반부-pdf

표1.4출력

003-p.ps

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

중앙도서관소식지겨울내지33

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

양성내지b72뼈訪?303逞

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집


< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

표1~4

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð


1 SW

SW

untitled

초보자를 위한 분산 캐시 활용 전략

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

실무 예제로 배우는 Elasticsearch 검색엔진 <활용편>

ibmdw_rest_v1.0.ppt

DBMS & SQL Server Installation Database Laboratory

160322_ADOP 상품 소개서_1.0

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

wp1_ hwp

6주차.key

RUCK2015_Gruter_public

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Corporate PPT Template

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

슬라이드 1

CONTENTS Volume 테마 즐겨찾기 빅데이터의 현주소 진일보하는 공개 기술, 빅데이터 새 시대를 열다 12 테마 활동 빅데이터 플랫폼 기술의 현황 빅데이터, 하둡 품고 병렬처리 가속화 16 테마 더하기 국내 빅데이터 산 학 연 관

Facebook API

PHP & ASP

¿ÀǼҽº°¡À̵å1 -new

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

Chap7.PDF

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

untitled

Database Search 편 * Database Explorer 8개의카테고리로구성되어있으며, 데이터베이스의폴더역할을하는 subset ( 혹은 subbase) 을생성하여데이터를조직및관리하게된다. 클릭! DNA/RNA Molecules : feature map의데이터

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

10.ppt

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

퇴직연금-0507

3장

Portal_9iAS.ppt [읽기 전용]

단위업무명

검색엔진

슬라이드 1

Week13

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

슬라이드 1

Windows Live Hotmail Custom Domains Korea

UNIST_교원 홈페이지 관리자_Manual_V1.0

3. 네이버검색 제 3장에서는네이버검색서비스에대한내용을살펴본다. 네이버검색은네이버에서가장대표적인서비스이다. 네이버검색서비스는계속진화하여다양하고정교한검색방법을제공하고, 다양한영역에서추출된검색결과를제공하고있다. 특히다양한영역의검색결과를한꺼번에보여주는 통합검색 방식은네이버검

Transcription:

Elasticsearch Fulltext 검색서비스적용기 기술 VS 서비스 아프리카 TV 정경석 2018.10.18

Whoami? 아프리카TV 검색 / 캐시클러스터 기술서저자 2015(netty), 2017(cache) soscon 발표 명실상부한콩라인 Redis Netty Elasticsearch

Purpose of the talk 기술 VS 서비스

첫번째이야기 게시물본문검색!

게시물본문검색 게시물의본문내용이검색되면돼!!! Like 쿼리쓰면되겠네. 간단하지?

고민 시간이좀걸려도제대로된방법을찾을것인가? 이상과현실의괴리 일정!!

첫번째접근 개발자친화적인방법 Select no, title, from bbs_table where contents like % 배틀그라운드 % 데이터가많아질수록 사용자가많아질수록 Disk IO, CPU 리소스 Full!!!

두번째접근 개발자친화적인방법 2 + Plugin Select no, title, from bbs_table where match(content) against( ' 배틀그라운드 ' ) 성능과결과는괜찮다. 아직까지는 데이터가많아지고검색할필드가더많아지면? 수평확장불가. 대안이필요하다!!

세번째접근 검색엔진도입 Elasticsearch Apache Solr 대비검색트렌드상승세 다양한플러그인과에코시스템 실시간인덱싱 잘정리된공식문서 수평확장과분산처리 가즈아!!!

Elasticsearch 적용 설치와실행 wget https://artifacts.elastic.co/downloads tar xvf elasticsearch-xxx vi config/elasticsearch.yml bootstrap.system_call_filter: false bin/elasticsearch -d 쉽군!!

Elasticsearch 적용 데이터인덱싱 https://www.elastic.co/guide/en/elasticsearch/client/javaapi/current/transport-client.html org.elasticsearch.client.transport.transportclient org.elasticsearch.action.bulk.bulkrequest org.elasticsearch.action.bulk.bulkprocessor Java, JavaScript, Groovy,.NET, PHP, Python 예제가많아서허들이적음 (Ctrl+C, Ctrl+V)

Elasticsearch 적용 질의 Rest API POST bbs_index/_search {"query":{"term":{"contents":" 배틀그라운드 "}},"from":0,"size":10} {"took":159,"timed_out":false,"_shards":{"total":5,"successful": 5,"failed":0},"hits":{"total":12755, 데이터가잘나오는군!!

Elasticsearch 적용 그러나 POST bbs_index/_search {"query":{"term":{"contents":" 배틀 "}},"from":0,"size":10} {"took":62,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":425, 어?!!

Elasticsearch 내부로.. 형태소분석 의미를가지는최소단위 로잘라내는행위 감나무에감이절로열렸다. 감나무에 / 감이 / 절로 / 열렸다 감 ( 어근 )/ 나무 ( 어근 ) / 에 ( 조사 ) / 감 ( 어근 ) / 이 ( 조사 ) / 절로 ( 어근 ) / 열 ( 어근 ) / 리 ( 피동접사 ) / 었 ( 선어말어미 ) / 다 ( 어말어미 ) 나는개발자인가국어학자인가?!

Elasticsearch 내부로.. 검색과형태소분석왜? 감나무에감이 를검색하면 옆집감나무에감이, 대추나무에대추가열린것을보니... 감나무에달린감이가을을재촉하네요. 행복한감나무농장의감이익어갑니다. 매장뒤뜰감나무에감이주렁주렁 네이버검색결과

Elasticsearch 내장형태소분석기 Built-in Standard Analyzer Whitespace Analyzer Stop Analyzer Pattern Analyzer Custom analyzer Combined, third-party-plugin ( 아리랑, 은전한닢, open korean text, Nori)

Elasticsearch 형태소분석기 plugin 아리랑형태소분석기 Github : https://github.com/howookjeong/elasticsearch-analysis-arirang http://jjeong.tistory.com/category/elastic/elasticsearch

한글형태소분석기적용 아리랑형태소분석기 POST bbs_index/_search {"query":{"term":{"contents":" 배틀그라운드 "}},"from":0,"size":10} {"took":29,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":12375, Good

한글형태소분석기적용 아리랑형태소분석기 POST bbs_index/_search {"query":{"term":{"contents":" 배틀 "}},"from":0,"size":10} {"took":29,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":18351, 괜찮군

한글형태소분석기적용 아리랑형태소분석기 POST bbs_index/_search {"query":{"term":{"contents":" 불닭먹방 "}},"from":0,"size":10} {"took":29,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":8, 응?

형태소분석기테스트 POST _analyze {"analyzer":"arirang_analyzer","text":" 불닭먹방 "} { } "tokens": [ ] { } "token": " 불닭먹방 ", "start_offset": 0, "end_offset": 4, "type": "korean", "position": 0 불닭, 먹방이사전에등록되어있지않음.

원인 쿼리결과이상의원인은사전 아리랑형태소사전 total.dic synonym.dic extension.dic compounds.dic josa.dic 검색되지않는단어가또나오면?

기획자가원했던건 Like 검색

형태소분석기변경 N-gram 1-gram, 2-gram, 3-gram 아버지가방에들어가신다 아버, 버지, 지가, 방에, 들어, 어가, 가신, 신다

형태소분석기변경 N-gram POST bbs_index/_search {"query":{"match":{"contents":" 불닭먹방 "}},"from":0,"size":10} {"took":29,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":421, 기획자가원했던결과가출력됨.. 오버하지말자

쿼리 핵불닭볶음면먹방 slop : 형태소간의거리 { "query": { "match_phrase": { "content": { "query": " 불닭먹방 ", "slop": 3 } } } 적당한값은항상테스트를통해서.

원점으로돌아와서 자연어검색이란 의미가같은글을검색할수있도록하는일련의행위문을닫는다 문 ( 명사 ) 닫다 ( 품사분해 ) 시피유가격 CPU 가격, 시피유가격, 씨피유가격 ( 동의어처리 ) 건물사이길 건물사잇길, 건물샛길 ( 맞춤법교정 ) 서비스에맞는기술선택인가? 게시판검색, 아이디검색 적정기술!

기술적관점의 Elasticsearch 형태소분석기 문장을적절하게 (?!) 분해및 Tagging 한글형태소분석과사전 ( 불닭, 먹방 ) 분석기내부구조 매핑 (Schemaless?) 쿼리 필드타입, 형태소분석기바인딩 term, match, match_phrase, regexp 형태소분석과검색 인덱싱, 쿼리 더많은기능들은모두레퍼런스문서에!!

형태소분석기기본구조 <Lucene interface> Text Character filter Stream Tokenizer Token Token Filter Token Standard Analyzer Character filter : None Tokenizer : StandardTokenizer Token Filter : StandardFilter Token Filter : LowerCaseFilter Token Filter : StopFilter N:1:N

형태소분석기더깊이 Filter chain, Template method 패턴 <Elasticsearch plugin interface> <Lucene interface> Character filter Tokenizer <Arirang, MeCab( 메카부 )> Token Filter Custom 형태소분석기작성시 2~3 개의프로젝트필요!

Elasticsearch 매핑 필드 Type, 형태소분석기 { "mappings": { "bbs": { "properties": { "contents": { "type": "text", "analyzer": "my_ngrams" }, "date": { "type": "date" }, "name": { "type": "keyword" }, "user_id": { "type": "long" } string vs keyword vs text

Elasticsearch Query DSL Elasticsearch 의 SQL match_all term exists prefix match match_phrase https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

기술적관점의 Elasticsearch 형태소 Tagging 형태소분석기별 tag 의이름값이다름. Tokenfilter, 검색의도파악

기술적관점의 Elasticsearch 분석기와검색의관계 키워드와문서모두형태소분석 Elasticsearch 저장 / 질의 문서 색인 형태소분석기 검색어 사용자

두번째이야기 동의어검색

동의어검색

동의어 동의어사전등록 글자는다르지만같은의미를가진단어 배그 배틀그라운드 가난 빈곤 칭구 친구 블소 블레이드소울 댕댕이 멍멍이 (?) 띵작 명작 (?) 사전관리필요!

동의어사건 씽크홀을검색했는데검색결과가없음 CS. - 기대결과 : 한나가들려주는싱크홀이야기

씽크홀 네이버는?

씽크홀 구글은?

씽크홀 구글은?

씽크홀 아프리카 TV 는?

씽크홀처리방법결정 네이버 : 싱크홀, 씽크홀두결과를합쳐서출력 구글 : 검색어를싱크홀로변경한결과와변경전결과출력 ( 케바케 ) 아프리카 TV : 오탈자검증시스템이없으므로동의어처리결정.

네이버와구글의씽크홀 사실은 국립국어원 : 씽크홀 (X), 싱크홀 (O) 네이버국어사전 : 씽크홀 (X), 싱크홀 (O) 구글 : 씽크홀을오탈자로인식 correction! 네이버 : 씽크홀을싱크홀의동의어로처리

씽크홀 그래서아프리카 TV 는?

못다한이야기들. 형태소분석기만바꿔서는드라마틱한변화없음. 형태소분석기의품질 == 사전과 Tokenizer의품질 ES 6.4의플러그인작성 ES 소스코드의 gradle esplugin Split brain S/W down 시발생 사전관리의실패는서비스장애 장애방지를위한방안수립필요

감사합니다.