๊ธฐ์กด ์ฝํ ์ธ ์์ ์ด๋ชจํฐ์ฝ๋ง ํ์ฑ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ 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


์ฌ์ฉํ ์ฟผ๋ฆฌ๋ก ์กฐํํ ๊ฒฐ๊ณผ์ ๋๋ค. (ํน์ ์ด๋ชจํฐ์ฝ๋ง ์กฐํํ์์ต๋๋ค), ์ค๋ฅธ์ชฝ์ ํ ์ด๋ธ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์กฐํํ์์ต๋๋ค.(Group by emoji)
RDB๋ก ์ฐ์ ์ ์ฅํ์ฌ ํ์ฌ ๋ฌธ์์ ํฌํจ๋ ์ด๋ชจํฐ์ฝ์ ํ์ ํ์์ต๋๋ค.
์์ ๊ฐ์ด RDS ์ฟผ๋ฆฌ์ฒ๋ผ ElasticSearch์์ ์กฐํ๋ฅผ ์งํํด๋ณด๊ฒ ์ต๋๋ค.
GET mbti/_search
{
"size": "0",
"query": {
"terms": {
"contents": ["๐"]
}
},
"aggregations": {
"significant_mbti_type": {
"significant_terms": {
"field": "keyword" ,
"min_doc_count": 0
}
}
}
}
์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
"aggregations" : {
"significant_mbti_type" : {
"doc_count" : 136,
"bg_count" : 27146,
"buckets" : [
{
"key" : "ESTJ",
"doc_count" : 40,
"score" : 0.28670597307320017,
"bg_count" : 4043
},
{
"key" : "ESTP",
"doc_count" : 24,
"score" : 0.12469690824841013,
"bg_count" : 2807
},
{
"key" : "ESFJ",
"doc_count" : 25,
"score" : 0.11545638190983143,
"bg_count" : 3065
},
{
"key" : "ESFP",
"doc_count" : 5,
"score" : 0.007764077040010751,
"bg_count" : 824
}
]
}
}
}
์ ์ฟผ๋ฆฌ์์ contents๋ text ํ๋์ด์, tokenized ๋ ํ๋์ ๋๋ค. ๊ทธ๋์ term ์ฟผ๋ฆฌ ์๋์ด ๋์์ต๋๋ค!
Significant terms aggregation | Elasticsearch Guide [8.1] | Elastic
Show significant_terms in contextFree-text significant_terms are much more easily understood when viewed in context. Take the results of significant_terms suggestions from a free-text field and use them in a terms query on the same field with a highlight c
www.elastic.co
์ฟผ๋ฆฌ๋ฅผ ์ค๋ช
ํ์๋ฉด, contents ํ๋ ๋ด์์ ํด๋น ์ด๋ชจํฐ์ฝ์ ํฌํจํ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ ์๋ฅผ ์ข
ํฉํด์ ๋ณด์ฌ์ค๋๋ค( doc count Sum )
์ด๋ฅผ ๋ณด๋ฉด ์ง์ ๋ฐ์ดํฐ๋ฅผ ํ์ฑ ํด์ ๋ฃ์ RDB์ ์์น๊ฐ ๋น์ทํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ค์ ํฌ์คํ ์์๋ ES Analyzer์ Regex filter๋ฅผ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ๋ด ์ด๋ชจํฐ์ฝ๋ง ์ ์ฅํ๋ ํ๋๋ฅผ ๋ง๋ค๊ณ
1) ๋ฌธ์ ๋ด ์ ์ฅ๋ ์ด๋ชจํฐ์ฝ ์
2) ๊ฐ ์ด๋ชจํฐ์ฝ ์ฌ์ฉ๋ณ MBTI ํ์
๋ฑ์ ์กฐํํด๋ณด๊ฒ ์ต๋๋ค!