์ „์ฒด ๊ธ€ 32

๋งฅ๋ถ ์ฐฝ ๊ด€๋ฆฌ ์•ฑ ์ถ”์ฒœ - Rectangle

Mac์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฐฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ macOS๋Š” ์ฐฝ ์ •๋ ฌ ๊ธฐ๋Šฅ์ด ์ œํ•œ์ ์ด๋ผ, ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋ ค๋ฉด ์„œ๋“œํŒŒํ‹ฐ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.Rectangle์€ ์ด๋Ÿฐ ๊ณ ๋ฏผ์„ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ์ฐฝ ๊ด€๋ฆฌ ์•ฑ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ์ธ๊ธฐ ์•ฑ์ธ Spectacle์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๊ฐ„๋‹จํ•œ ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค์™€ ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ์ฐฝ์„ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Rectangle์˜ ์ฃผ์š” ๊ธฐ๋Šฅ1. ๋‹จ์ถ•ํ‚ค ๊ธฐ๋ฐ˜ ์ฐฝ ์ •๋ ฌRectangle์€ ๋‹ค์–‘ํ•œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ฐฝ์„ ์‹ ์†ํ•˜๊ฒŒ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โŒƒ โŒฅ โ† : ์ฐฝ์„ ์™ผ์ชฝ ์ ˆ๋ฐ˜์œผ๋กœ ์ด๋™โŒƒ โŒฅ โ†’ : ์ฐฝ์„ ์˜ค๋ฅธ์ชฝ ์ ˆ๋ฐ˜์œผ๋กœ ์ด๋™โŒƒ โŒฅ โŒ˜ F : ์ฐฝ ์ตœ๋Œ€ํ™”โŒƒ โŒฅ U : ์ฐฝ์„ ์™ผ์ชฝ ์ƒ๋‹จ์œผ๋กœ ์ด๋™โŒƒ โŒฅ O : ์ฐฝ์„ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์œผ..

์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ ๊ตฌ์ถ• - 03. Kafka ์„ค์น˜ ๋ฐ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ตฌ์„ฑ

Kafka๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ Clickhouse๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ„์„ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก ์ด ๊ธ€์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉ:Kubernetes ํ™˜๊ฒฝ์—์„œ Kafka ์„ค์น˜ ๋ฐ ์„ค์ •Helm ์ฐจํŠธ๋ฅผ ํ™œ์šฉํ•œ Kafka ๋ฐฐํฌKafka ํ† ํ”ฝ ์ƒ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ํ…Œ์ŠคํŠธ1. Kafka๋ž€?Kafka๋Š” ๋Œ€์šฉ๋Ÿ‰ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์œ„ํ•œ ๋ถ„์‚ฐ ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.ClickHouse์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.๐Ÿ“Œ Kafka ์ฃผ์š” ๊ฐœ๋…๊ฐœ๋… ์„ค๋ช…Producer๋ฐ์ดํ„ฐ๋ฅผ Kafka์— ๋ณด๋‚ด๋Š” ์—ญํ• ConsumerKafka์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์—ญํ• Topic๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋…ผ๋ฆฌ์  ๊ณต๊ฐ„BrokerKafka ์„œ๋ฒ„ (๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌ)*ZookeeperKafka์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ๊ด€๋ฆฌKafka 4..

์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ ๊ตฌ์ถ• - 02. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— Clickhouse ์„ค์น˜ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Kubernetes ํ™˜๊ฒฝ์—์„œ ClickHouse๋ฅผ ๋ฐฐํฌ ๋ฐ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.Docker Desktop์˜ ๋‚ด์žฅ Kubernetes๋ฅผ ํ™œ์šฉํ•˜๊ณ , Helm ๋ฐ Bitnami Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ClickHouse๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.1. ์‚ฌ์ „ ์ค€๋น„1) kubectl ์„ค์น˜ (Kubernetes CLI)kubectl์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ช…๋ น์ค„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.๐Ÿ”น macOSbrew install kubectl๐Ÿ”น Windows (PowerShell)choco install kubernetes-cliโœ… ์„ค์น˜ ํ™•์ธ:kubectl version --client2) Docker Desktop์—์„œ Kubernetes ํ™œ์„ฑํ™”Docker Desktop์—๋Š” Kubernetes๊ฐ€ ..

์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ ๊ตฌ์ถ• - 01. Clickhouse๋ž€?

๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ OLAP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฐพ๊ณ  ๊ณ„์‹ ๊ฐ€์š”?ClickHouse๋Š” ๋น ๋ฅธ ์†๋„์™€ ํ™•์žฅ์„ฑ์„ ์ž๋ž‘ํ•˜๋Š” ์ปฌ๋Ÿผํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์ตœ์ ํ™”๋œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.์ด ๊ธ€์—์„œ๋Š” ClickHouse์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ์ง์ ‘ ์‹ค์Šต์„ ํ†ตํ•ด ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์ตํ˜€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.1. ClickHouse๋ž€?ClickHouse๋Š” Yandex์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ์ปฌ๋Ÿผํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋ถ„์„(OLAP)์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.๋‹ค๋ฅธ RDBMS์™€ ๋‹ฌ๋ฆฌ ์ปฌ๋Ÿผ ๋‹จ์œ„ ์ €์žฅ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ๋น ๋ฅธ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์••์ถ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.ClickHouse์˜ ์ฃผ์š” ํŠน์ง•โœ… ์ปฌ๋Ÿผ ๊ธฐ๋ฐ˜ ์ €์žฅ(Columnar Storage) โ†’ ๋น ๋ฅธ ๋ถ„์„ ์ฟผ๋ฆฌ ์†๋„โœ… ๋ถ„์‚ฐ ์•„ํ‚คํ…์ฒ˜(Distributed Architec..

[IOS/Swift] MBTI ์นด๋“œ ์„ ํƒ ๊ฒŒ์ž„ UI ๊ตฌํ˜„

swift ui๋ฅผ ์ด์šฉํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ ํ•ด๋ด…์‹œ๋‹ค. ๊ธฐํš๋œ ๊ตฌ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ๋Ÿ‰ ๋˜๋Š” ์–ธ๊ธ‰๋Ÿ‰์„ ๋น„๊ตํ•  ๋‘ ๊ฐœ์˜ ํ•ญ๋ชฉ์„ ๊ฐ๊ฐ ์นด๋“œ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ•ญ์ƒ ์•„๋ž˜์— ์žˆ๋Š” ์นด๋“œ(ํŒŒ๋ž‘)๊ฐ€ ์œ„์— ์žˆ๋Š” ์นด๋“œ(๋นจ๊ฐ•) ๋ณด๋‹ค ์–ธ๊ธ‰๋Ÿ‰์ด ๋” ๋งŽ์€์ง€ ๋‚ฎ์€์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ •๋‹ต์„ ๋งž์ถ”๋ฉด ๋‹ค์Œ ์นด๋“œ๋กœ ์ด๋™, ์ž˜๋ชป ์„ ํƒํ•˜๋ฉด ๊ฒŒ์ž„์ด ๋๋‚ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ ๊ฒŒ์ž„์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ(API ์ „๋‹ฌ ๊ฒฐ๊ณผ)๋ฅผ ์„ค๊ณ„ํ•ด๋ด…์‹œ๋‹ค. struct StageList: Codable { var data: Array var answer: Array } API์—์„œ ์‘๋‹ต๋ฐ›์€ ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” Struct๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. { "data": ["์งœ์žฅ๋ฉด", "์งฌ๋ฝ•", "ํƒ•์ˆ˜์œก", "์œ ๋ฆฐ๊ธฐ", "๊ฟ”๋ฐ”๋กœ์šฐ"], "answe..

IOS(Swift) 2022.05.22

[๋…์„œ๋…ธํŠธ] ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ - 7์žฅ ํŠธ๋žœ์žญ์…˜

์ด์ „์— ๋…์„œ๋…ธํŠธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ… ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.https://jongwho.tistory.com/17 [Youtube ์˜์ƒ ์š”์•ฝ] - ๋…์„œ ๋ฉ”๋ชจ๋ฒ•์ตœ๊ทผ ์—„์ฒญ ๋‘๊บผ์šด ์ฑ… ์ฝ๊ธฐ์— ๋„์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๋ผ๋Š” ์ฑ…์ธ๋ฐ์š” http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791158390983&orderClick=LE..jongwho.tistory.com ์œ„ ๋ฉ”๋ชจ๋ฒ•์„ ๋ฐ”ํƒ•์œผ๋กœ '๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„' 7์žฅ ํŠธ๋žœ์žญ์…˜์„ ์š”์•ฝํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.ํ‚ค์›Œ๋“œ ์š”์•ฝ์•ฝ 2ํŽ˜์ด์ง€๋งˆ๋‹ค ์ฝ์€ ๋‚ด์šฉ์„ ์š”์•ฝํ•ด์„œ ํ‚ค์›Œ๋“œ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€์˜ ๊ตฌ๋ถ„์€ '/'๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.ํŠธ๋žœ์žญ์…˜, ์•ˆ์ „์„ฑ ๋ณด์žฅ / ์›์ž์„ฑ, ..

Note 2022.05.03

[Youtube ์˜์ƒ ์š”์•ฝ] - ๋…์„œ ๋ฉ”๋ชจ๋ฒ•

์ตœ๊ทผ ์—„์ฒญ ๋‘๊บผ์šด ์ฑ… ์ฝ๊ธฐ์— ๋„์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๋ผ๋Š” ์ฑ…์ธ๋ฐ์š”http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791158390983&orderClick=LEa&Kc= ์•ฝ 600 ํŽ˜์ด์ง€ ์ฑ…์ž…๋‹ˆ๋‹ค. ์ €์—๊ฒŒ๋Š” ๋„ˆ๋ฌด ๋‘๊ป๊ณ  ๋‚ด์šฉ๋„ ๋งŽ์•„ ์–ด๋–ป๊ฒŒ ์ •๋ฆฌํ•ด์•ผ ํ•  ์ง€ ๊ณ ๋ฏผํ•˜๋˜ ์ฐจ์— ์œ ํŠœ๋ธŒ์—์„œ ๋ฉ”๋ชจ์™€ ๊ด€๋ จ๋œ ์˜์ƒ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ - ๊ต๋ณด๋ฌธ๊ณ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ์‹œ์Šคํ…œ์„ ์ง€ํƒฑํ•˜๋Š” ํ•ต์‹ฌ | ์ด ์ฑ…์—์„œ ๋ฐฐ์šฐ๋Š” ๋‚ด์šฉโ—Ž ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€๋ฅผ ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์šด์šฉwww.kyobobook.co.kr ํšจ๊ณผ์ ์œผ๋กœ ๋ฉ”..

Note 2022.04.30

[Elastic Search] MBTI ๊ฒ€์ƒ‰ ํ”„๋กœ์ ํŠธ - 3. API ๊ตฌ์ถ•ํ•˜๊ธฐ

MBTI ๊ฒ€์ƒ‰์—”์ง„ ๋ฐ์ดํ„ฐ๋ฅผ API ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. API ๋ชฉ๋ก ์ „์ฒด ๋ฌธ์„œ์—์„œ ๊ฐ MBTI ํƒ€์ž…๋ณ„ ์ƒ์œ„ 100๊ฐœ ํ‚ค์›Œ๋“œ ์ถœ๋ ฅ - ๋ฌธ์„œ ์ˆ˜ ๊ธฐ์ค€ MBTI ์œ ํ˜• ์ค‘ E ๋˜๋Š” I ์œ ํ˜•์— ๋”ฐ๋ผ ์ƒ์œ„ 100๊ฐœ ํ‚ค์›Œ๋“œ ์ถœ๋ ฅ MBTI ์œ ํ˜• ์ค‘ E ๋˜๋Š” I ์œ ํ˜•์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ฒ€์ƒ‰๋œ ์ƒ์œ„ 100๊ฐœ ํ‚ค์›Œ๋“œ ์ถœ๋ ฅ ๊ตฌํ˜„ํ•œ API๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ฌธ์„œ์—์„œ ๊ฐ MBTI ํƒ€์ž…๋ณ„ ์ƒ์œ„ 100๊ฐœ ํ‚ค์›Œ๋“œ๋ฅผ ์ถœ๋ ฅ @app.get('/top/keywords/{mbti_type}') def get_top_keywords(mbti_type: str, q:Optional[str]=None): es_query = { "size": 0, "query": {"match": {"keyword": mbti_type}}, "aggs..

Elastic Search 2022.04.29

[Elastic Search] MBTI ๊ฒ€์ƒ‰ ํ”„๋กœ์ ํŠธ - 2. Emoji ๊ฒ€์ƒ‰ ๋ฐ Aggregation(3ํŽธ)

Re-Index ๋ง‰์ƒ ์ด๋ชจํ‹ฐ์ฝ˜ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ๊ฐ ์›๋ฌธ์—์„œ ์ด๋ชจํ‹ฐ์ฝ˜์ด ์–ผ๋งˆ๋‚˜ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€, ์–ด๋–ค ์ด๋ชจํ‹ฐ์ฝ˜์ด ๊ฐ€์žฅ ๋งŽ์ด ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ด๋ณด์ž ๊ทธ์ „์— ์‚ฌ์ „ ์ค€๋น„ ์ž‘์—…์œผ๋กœ text field๋กœ ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ์—์„œ ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœ(Es ๋‚ด๋ถ€์—์„œ๋Š” Term)ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์ „์ฒด ๋ฌธ์„œ์—์„œ ํ‚ค์›Œ๋“œ ๋นˆ๋„์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ด…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ๊ตฌ์„ฑ PUT /mbti_term { "settings": { "analysis": { "analyzer": { "nori_mixed": { "tokenizer": "nori_t_mixed", "filter": "shingle" }, "nori_pos_noun": { "type": "custom", "tokenizer": "nori_t_mixed", "..

Elastic Search 2022.04.24

[Elastic Search] MBTI ๊ฒ€์ƒ‰ ํ”„๋กœ์ ํŠธ - 2. Emoji ๊ฒ€์ƒ‰ ๋ฐ Aggregation(2ํŽธ)

๊ธฐ์กด ์ฝ˜ํ…์ธ ์—์„œ ์ด๋ชจํ‹ฐ์ฝ˜๋งŒ ํŒŒ์‹ฑ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ RDB์— ์ˆ˜์ง‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. (ES Analyzer์— regex filter๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์Œ์— ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!) ์Šคํ‚ค๋งˆ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ Insert ํ•˜์˜€์Šต๋‹ˆ๋‹ค(RDB) T: t_emoji_dashboard Columns: emoji, mbti_type(MBTI ํƒ€์ž… ์ž…๋‹ˆ๋‹ค), emoji_count(๊ฐ ๋ฌธ์„œ๋ณ„ ๋“ฑ์žฅ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค) SELECT emoji, mbti_type, sum(emoji_count) FROM t_emoji_dashboard WHERE emoji = '๐Ÿ˜˜' GROUP BY emoji, mbti_type ORDER BY mbti_type, sum DESC ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ๋กœ ์กฐํšŒํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. (ํŠน์ • ์ด๋ชจํ‹ฐ์ฝ˜๋งŒ ์กฐํšŒํ•˜์˜€์Šต๋‹ˆ..

Elastic Search 2022.04.21