Elasticsearch๋ก ์ต๊ณ ์ฑ๋ฅ์ ๋ฐํํ์ธ์! ์ด ๊ฐ์ด๋๋ ์ธ๋ฑ์ฑ ์ ๋ต, ์ฟผ๋ฆฌ ์ต์ ํ, ํ๋์จ์ด ๊ณ ๋ ค ์ฌํญ, ๊ธ๋ก๋ฒ ๊ฒ์ ์ฑ๊ณต์ ์ํ ๊ณ ๊ธ ๊ธฐ์ ์ ๋ค๋ฃน๋๋ค.
Elasticsearch ์ต์ ํ: ๊ธ๋ก๋ฒ ํ์ฅ์ ์ํ ํฌ๊ด์ ์ธ ๊ฐ์ด๋
Elasticsearch๋ ์ ์ ์๊ฑฐ๋ ์ ํ ๊ฒ์์์ ๋ก๊ทธ ๋ถ์ ๋์๋ณด๋์ ์ด๋ฅด๊ธฐ๊น์ง ๋ชจ๋ ๊ฒ์ ์ง์ํ๋ ํ๋ ๊ฒ์ ์ธํ๋ผ์ ์ด์์ด ๋์์ต๋๋ค. ๋ถ์ฐ๋ ํน์ฑ๊ณผ ๊ฐ๋ ฅํ ์ฟผ๋ฆฌ ๊ธฐ๋ฅ์ ํตํด ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ ๋ฐ ๋ณต์กํ ๊ฒ์ ์๊ตฌ ์ฌํญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ด์์ ์ ๋๋ค. ๊ทธ๋ฌ๋ Elasticsearch์์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ ค๋ฉด ์ ์คํ ๊ณํ, ๊ตฌ์ฑ ๋ฐ ์ง์์ ์ธ ์ต์ ํ๊ฐ ํ์ํฉ๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ์ง๋ฆฌ์ ์์น๋ ์ฐ์ ์ ๊ด๊ณ์์ด Elasticsearch ๋ฐฐํฌ์ ํจ์จ์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ทน๋ํํ๊ธฐ ์ํ ์คํ ๊ฐ๋ฅํ ์ ๋ต๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
Elasticsearch ์ํคํ ์ฒ ์ดํด
์ต์ ํ ๊ธฐ์ ์ ์ดํด๋ณด๊ธฐ ์ ์ Elasticsearch์ ๊ธฐ๋ณธ ์ํคํ ์ฒ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋ ธ๋: Elasticsearch๋ฅผ ์คํํ๋ ๊ฐ๋ณ ์๋ฒ ๋๋ ๊ฐ์ ๋จธ์ ์ ๋๋ค.
- ํด๋ฌ์คํฐ: ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ธ๋ฑ์ฑํ๊ธฐ ์ํด ํจ๊ป ์๋ํ๋ ๋ ธ๋ ๋ชจ์์ ๋๋ค.
- ์ธ๋ฑ์ค: ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ๊ณผ ์ ์ฌํ ๋ฌธ์์ ๋ ผ๋ฆฌ์ ๊ทธ๋ฃนํ์ ๋๋ค.
- ๋ฌธ์: JSON ๊ฐ์ฒด๋ก ํํ๋๋ Elasticsearch์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๋จ์์ ๋๋ค.
- ์ค๋: ์ธ๋ฑ์ค๋ ํ์ฅ์ฑ ๋ฐ ์ค๋ณต์ฑ์ ์ํด ์ฌ๋ฌ ๋ ธ๋์ ๋ถ์ฐ๋๋ ์ค๋๋ก ๋๋ฉ๋๋ค.
- ๋ ํ๋ฆฌ์นด: ์ค๋์ ๋ณต์ฌ๋ณธ์ผ๋ก, ๋ด๊ฒฐํจ์ฑ์ ์ ๊ณตํ๊ณ ์ฝ๊ธฐ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
ํจ๊ณผ์ ์ธ Elasticsearch ์ต์ ํ๋ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ๋ด๊ฒฐํจ์ฑ ๊ฐ์ ์ํ๋ ๊ท ํ์ ๋ฌ์ฑํ๊ธฐ ์ํด ์ด๋ฌํ ๊ตฌ์ฑ ์์๋ฅผ ์กฐ์ ํ๋ ๋ฐ ๊ด๋ จ๋ฉ๋๋ค.
์ธ๋ฑ์ฑ ์ต์ ํ
์ธ๋ฑ์ฑ์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ๊ฐ๋ฅํ ํ์์ผ๋ก ๋ณํํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ธ๋ฑ์ฑ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๊ฒ์ ๋๊ธฐ ์๊ฐ์ ์ค์ด๊ณ ์ ์ฒด ์์คํ ์ฒ๋ฆฌ๋์ ๊ฐ์ ํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
1. ๋งคํ ์ค๊ณ
๋งคํ์ Elasticsearch๊ฐ ๋ฌธ์์ ๊ฐ ํ๋๋ฅผ ํด์ํ๊ณ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ์ ํ๊ณผ ๋ถ์๊ธฐ๋ฅผ ์ ํํ๋ฉด ์ธ๋ฑ์ฑ ๋ฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ํ: ๊ฐ ํ๋์ ๊ฐ์ฅ ์ ํฉํ ๋ฐ์ดํฐ ์ ํ์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํํ ์ผ์นํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋์๋
keyword๋ฅผ ์ฌ์ฉํ๊ณ , ์ ์ฒด ํ ์คํธ ๊ฒ์์ด ํ์ํ ํ๋์๋text๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ๋ถ์๊ธฐ: ๋ถ์๊ธฐ๋ ํ
์คํธ ํ๋๋ฅผ ํ ํฐํํ๊ณ ์ ๊ทํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ถ์๊ธฐ๋ฅผ ์ ํํ๋ ๊ฒ์ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์
์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์๋ฅผ ๋ค์ด,
standard๋ถ์๊ธฐ๋ ์ผ๋ฐ์ ์ธ ํ ์คํธ ๊ฒ์์ ์ ํฉํ๊ณ ,whitespace๋ถ์๊ธฐ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ํ ํฐ์ ํฌํจํ๋ ํ๋์ ์ ํฉํฉ๋๋ค. ๋ค๊ตญ์ด ์ฝํ ์ธ ์ ๊ฒฝ์ฐ, ํฅ์๋ ์ด๊ฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์ฉ์ด ์ ๊ฑฐ๋ฅผ ์ํด ์ธ์ด๋ณ ๋ถ์๊ธฐ(์:english,spanish,french)๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
์์: ์ ํ ์นดํ๋ก๊ทธ ์์ธ์ ๊ณ ๋ คํด ๋ณด์ญ์์ค. ์ ํ ์ด๋ฆ ํ๋๋ ๊ฒ์ ์ ํ๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ์ธ์ด๋ณ ๋ถ์๊ธฐ๋ก ๋ถ์ํด์ผ ํฉ๋๋ค. ์ ํ ID ํ๋๋ ์ ํํ ์ผ์นํ๋ keyword ์ ํ์ผ๋ก ๋งคํํด์ผ ํฉ๋๋ค.
2. ๋๋ ์ธ๋ฑ์ฑ
๊ฐ๋ณ์ ์ผ๋ก ๋ฌธ์๋ฅผ ์ธ๋ฑ์ฑํ๋ ๋์ bulk API๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ผ ์์ฒญ์ผ๋ก ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์ธ๋ฑ์ฑํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ค๋ฒํค๋๊ฐ ์ค์ด๋ค๊ณ ์ธ๋ฑ์ฑ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋ฉ๋๋ค. bulk API๋ ๋ชจ๋ ๋ฐ์ดํฐ ๋ก๋ฉ ํ๋ก์ธ์ค์ ํ์์ ์ ๋๋ค.
์์: 1000๊ฐ์ ๊ฐ๋ณ ์ธ๋ฑ์ค ์์ฒญ์ ๋ณด๋ด๋ ๋์ 1000๊ฐ์ ๋ฌธ์๋ฅผ ๋จ์ผ ๋๋ ์์ฒญ์ผ๋ก ์ผ๊ด ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ ์ ์์ต๋๋ค.
3. ์๋ก ๊ณ ์นจ ๊ฐ๊ฒฉ
์๋ก ๊ณ ์นจ ๊ฐ๊ฒฉ์ Elasticsearch๊ฐ ์๋ก ์ธ๋ฑ์ฑ๋ ๋ฌธ์๋ฅผ ์ผ๋ง๋ ์์ฃผ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ง๋ฅผ ์ ์ดํฉ๋๋ค. ์๋ก ๊ณ ์นจ ๊ฐ๊ฒฉ์ ์ค์ด๋ฉด ์ธ๋ฑ์ฑ ์๋๊ฐ ๋นจ๋ผ์ง์ง๋ง ๊ฒ์ ๋๊ธฐ ์๊ฐ๋ ๋์ด๋ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์๋ก ๊ณ ์นจ ๊ฐ๊ฒฉ์ ์กฐ์ ํฉ๋๋ค. ์ฆ์ ๊ฒ์ ๊ฐ๋ฅ์ฑ์ด ์ค์ํ์ง ์์ ๋๋ ์์ง ์๋๋ฆฌ์ค์ ๊ฒฝ์ฐ, ์๋ ์๋ก ๊ณ ์นจ์ ๋นํ์ฑํํ๊ณ ํ์์ ๋ฐ๋ผ ์๋ ์๋ก ๊ณ ์นจ์ ์ํํ๋ ค๋ฉด ์๋ก ๊ณ ์นจ ๊ฐ๊ฒฉ์ -1๋ก ์ค์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
4. ์ธ๋ฑ์ฑ ๋ฒํผ ํฌ๊ธฐ
Elasticsearch๋ ๋์คํฌ๋ก ํ๋ฌ์ํ๊ธฐ ์ ์ ์ธ๋ฑ์ฑ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ธฐ ์ํด ๋ฒํผ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ธ๋ฑ์ฑ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๋ฉด ์ธ๋ฑ์ฑ ์ฑ๋ฅ์ด ํฅ์๋์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๋ ๋์ด๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ์ ์ธ๋ฑ์ฑ ์ฒ๋ฆฌ๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ธ๋ฑ์ฑ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
5. Translog ์ง์์ฑ
translog๋ ์ธ๋ฑ์ฑ ์์
์ ๋ํ ์ง์์ฑ์ ์ ๊ณตํ๋ ํธ๋์ญ์
๋ก๊ทธ์
๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Elasticsearch๋ ๊ฐ ์์
ํ์ translog๋ฅผ fsyncํ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์๋๋ก ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ์ธ๋ฑ์ฑ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์ง์์ฑ์ด ์ฝ๊ฐ ๊ฐ์ํ๋ ๋์ ์ธ๋ฑ์ฑ ์๋๋ฅผ ํฅ์์ํค๋ ค๋ฉด translog ์ง์์ฑ์ async๋ก ์ค์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. ๋ฐ์ดํฐ ์์ค์ ์ฌ์ ํ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ง๋ง ๊ทน๋จ์ ์ธ ์ค๋ฅ ์๋๋ฆฌ์ค์์๋ ๊ฐ๋ฅํฉ๋๋ค.
์ฟผ๋ฆฌ ์ต์ ํ
์ฟผ๋ฆฌ ์ต์ ํ๋ ๊ฒ์ ๋๊ธฐ ์๊ฐ์ ์ค์ด๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐ ์ค์ํฉ๋๋ค. ์ ๋๋ก ์ต์ ํ๋์ง ์์ ์ฟผ๋ฆฌ๋ ์ ์ฒด Elasticsearch ํด๋ฌ์คํฐ๋ฅผ ๋ง๋น์ํฌ ์ ์์ต๋๋ค. Elasticsearch๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐฉ์์ ์ดํดํ๊ณ ์ฌ๋ฐ๋ฅธ ์ฟผ๋ฆฌ ์ ํ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ ๋ฐ ํต์ฌ์ ๋๋ค.
1. ์ฟผ๋ฆฌ ์ ํ
Elasticsearch๋ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๊ฒ ์ค๊ณ๋ ๋ค์ํ ์ฟผ๋ฆฌ ์ ํ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ์ฟผ๋ฆฌ ์ ํ์ ์ ํํ๋ฉด ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- Term ์ฟผ๋ฆฌ: ํค์๋์ ์ ํํ ์ผ์น๋ฅผ ์ํด term ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ธ๋ฑ์ฑ๋ ์ฉ์ด๋ฅผ ๊ฒ์ํ๋ ๋ฐ ๋น ๋ฅด๊ณ ํจ์จ์ ์ ๋๋ค.
- Match ์ฟผ๋ฆฌ: ์ ์ฒด ํ ์คํธ ๊ฒ์์ match ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฟผ๋ฆฌ ๋ฌธ์์ด์ ๋ถ์ํ๊ณ ๊ด๋ จ ์ฉ์ด๋ฅผ ํฌํจํ๋ ๋ฌธ์๋ฅผ ์ผ์น์ํต๋๋ค.
- Range ์ฟผ๋ฆฌ: ํน์ ๊ฐ ๋ฒ์ ๋ด์์ ๊ฒ์ํ๊ธฐ ์ํด range ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ซ์ ๋๋ ๋ ์ง ๋ฒ์์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ ๋ฐ ํจ์จ์ ์ ๋๋ค.
- Boolean ์ฟผ๋ฆฌ: ๋ถ์ธ ์ฐ์ฐ์(AND, OR, NOT)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฅผ ๊ฒฐํฉํ๊ธฐ ์ํด boolean ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ณต์กํ ๊ฒ์ ์กฐ๊ฑด์ ๋ง๋๋ ๋ฐ ์ ์ฐํฉ๋๋ค.
- Multi-Match ์ฟผ๋ฆฌ: ์๋ก ๋ค๋ฅธ ๋ถ์คํ ์์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ๋๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด multi-match ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์์ผ๋์นด๋ ์ฟผ๋ฆฌ: ์์ผ๋์นด๋(
*,?)๋ฅผ ์ฌ์ฉํ์ฌ ํจํด์ ์ผ์น์ํค๊ธฐ ์ํด ์์ผ๋์นด๋ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์ผ๋์นด๋ ์ฟผ๋ฆฌ๋ ๋๋ฆฌ๊ณ ๋ฆฌ์์ค ์ง์ฝ์ ์ผ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํ์ญ์์ค. - Fuzzy ์ฟผ๋ฆฌ: ์ฒ ์ ์ค๋ฅ ๋๋ ๋ณํ์ด ์๋ ๊ฒฝ์ฐ์๋ ๊ฒ์์ด์ ์ ์ฌํ ๋ฌธ์๋ฅผ ์ฐพ๊ธฐ ์ํด fuzzy ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์: ์ ํ ์ด๋ฆ๋ณ๋ก ์ ํ์ ๊ฒ์ํ๋ ค๋ฉด match ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๊ฒฉ ๋ฒ์๋ณ๋ก ์ ํ์ ํํฐ๋งํ๋ ค๋ฉด range ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฌ๋ฌ ๊ฒ์ ์กฐ๊ฑด์ ๊ฒฐํฉํ๋ ค๋ฉด bool ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2. ํํฐ๋ง
๋ ๋ง์ ๋น์ฉ์ด ๋๋ ์ฟผ๋ฆฌ๋ฅผ ์ ์ฉํ๊ธฐ ์ ์ ํํฐ๋ง์ ์ฌ์ฉํ์ฌ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ขํ๋๋ค. ํํฐ๋ง์ ๋ฏธ๋ฆฌ ์ธ๋ฑ์ฑ๋ ๋ฐ์ดํฐ์ ๋ํด ์๋ํ๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ๋ณด๋ค ๋น ๋ฆ ๋๋ค.
์์: ํํฐ๋ง๊ณผ ๊ฒ์์ ๋ชจ๋ ์ํํ๊ธฐ ์ํด should ์ ์ด ์๋ bool ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋์ , ํํฐ๋ง์ ์ํ filter ์ ๊ณผ ๊ฒ์์ ์ํ must ์ ์ด ์๋ bool ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
3. ์บ์ฑ
Elasticsearch๋ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ ์ฟผ๋ฆฌ ๋ฐ ํํฐ๋ฅผ ์บ์ํฉ๋๋ค. ์บ์ ์ ์ค๋ฅ ์ ๊ทน๋ํํ๊ณ ์ฟผ๋ฆฌ ๋๊ธฐ ์๊ฐ์ ์ค์ด๋๋ก ์บ์ ์ค์ ์ ๊ตฌ์ฑํฉ๋๋ค.
- ๋ ธ๋ ์ฟผ๋ฆฌ ์บ์: ๋ ธ๋ ์์ค์์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํฉ๋๋ค.
- ์ค๋ ์์ฒญ ์บ์: ์ค๋ ์์ค ์์ฒญ์ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํฉ๋๋ค.
์ฝ๊ธฐ ์ค์ฌ ์ํฌ๋ก๋์ ๋ํด ์บ์ฑ์ ํ์ฑํํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ๋ผ ์บ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
4. ํ์ด์ง ๋งค๊น
๋จ์ผ ์์ฒญ์ผ๋ก ๋ง์ ์์ ๋ฌธ์๋ฅผ ๊ฒ์ํ์ง ๋ง์ญ์์ค. ํ์ด์ง ๋งค๊น์ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ ์์ ์ฒญํฌ๋ก ๊ฒ์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด Elasticsearch ํด๋ฌ์คํฐ์ ๋ถํ๊ฐ ์ค์ด๋ค๊ณ ์๋ต ์๊ฐ์ด ๊ฐ์ ๋ฉ๋๋ค.
- ํฌ๊ธฐ ๋ฐ ์์:
size๋ฐfrom๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ด์ง ๋งค๊นํฉ๋๋ค. - ์คํฌ๋กค API: ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ๊ธฐ ์ํด ์คํฌ๋กค API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
5. ํ๋กํ์ผ๋ง
Elasticsearch ํ๋กํ์ผ๋ง API๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋ถ์ํฉ๋๋ค. ํ๋กํ์ผ๋ง API๋ Elasticsearch๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐฉ์์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์ ์ฌ์ ๋ณ๋ชฉ ํ์์ ์๋ณํฉ๋๋ค. ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๊ณ ์ฑ๋ฅ์ ๊ฐ์ ํฉ๋๋ค. ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ์๋ณํ๊ณ ์คํ ๊ณํ์ ๋ถ์ํ์ฌ ๋นํจ์จ์ ์ธ ํํฐ ๋๋ ๋๋ฝ๋ ์ธ๋ฑ์ค์ ๊ฐ์ ๊ฐ์ ์์ญ์ ์ฐพ์๋ ๋๋ค.
ํ๋์จ์ด ๊ณ ๋ ค ์ฌํญ
ํ๋์จ์ด ์ธํ๋ผ๋ Elasticsearch ์ฑ๋ฅ์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ํ๋์จ์ด ๊ตฌ์ฑ ์์๋ฅผ ์ ํํ๊ณ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
1. CPU
Elasticsearch๋ ํนํ ์ธ๋ฑ์ฑ ๋ฐ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์ค์ CPU ์ง์ฝ์ ์ ๋๋ค. ์ต์ ์ ์ฑ๋ฅ์ ์ํด ๋์ ํด๋ญ ์๋์ ์ฌ๋ฌ ์ฝ์ด๊ฐ ์๋ CPU๋ฅผ ์ ํํฉ๋๋ค. ํฅ์๋ ๋ฒกํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด AVX-512 ๋ช ๋ น์ด๊ฐ ์๋ CPU๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
2. ๋ฉ๋ชจ๋ฆฌ
Elasticsearch๋ ์บ์ฑ ๋ฐ ์ธ๋ฑ์ฑ์ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ฒ ์์กดํฉ๋๋ค. Elasticsearch ํ ๋ฐ ์ด์ ์ฒด์ ์บ์์ ์ถฉ๋ถํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํฉ๋๋ค. ๊ถ์ฅ ํ ํฌ๊ธฐ๋ ์ฌ์ฉ ๊ฐ๋ฅํ RAM์ 50%์ด๋ฉฐ ์ต๋ 32GB์ ๋๋ค.
3. ์คํ ๋ฆฌ์ง
Elasticsearch ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด SSD์ ๊ฐ์ ๋น ๋ฅธ ์ ์ฅ ์ฅ์น๋ฅผ ์ฌ์ฉํฉ๋๋ค. SSD๋ ๊ธฐ์กด ํ๋ ๋๋ผ์ด๋ธ์ ๋นํด ํจ์ฌ ๋ ๋์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํจ์ฌ ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ํด NVMe SSD๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
4. ๋คํธ์ํฌ
Elasticsearch ๋ ธ๋ ๊ฐ์ ๊ณ ๋์ญํญ, ์ ์ง์ฐ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํ์ธํฉ๋๋ค. ์ด๋ ๋ถ์ฐ ๊ฒ์ ์์ ์ ์ค์ํฉ๋๋ค. ์ต์ ์ ์ฑ๋ฅ์ ์ํด 10 ๊ธฐ๊ฐ๋นํธ ์ด๋๋ท ์ด์์ ์ฌ์ฉํฉ๋๋ค.
ํด๋ฌ์คํฐ ๊ตฌ์ฑ
Elasticsearch ํด๋ฌ์คํฐ๋ฅผ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ ํ์ฅ์ฑ, ๋ด๊ฒฐํจ์ฑ ๋ฐ ์ฑ๋ฅ์ ํ์์ ์ ๋๋ค.
1. ์ค๋ฉ
์ค๋ฉ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ ธ๋์ ๋ถ์ฐํ์ฌ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ํฌ๊ธฐ์ ํด๋ฌ์คํฐ์ ๋ ธ๋ ์์ ๋ฐ๋ผ ์ฌ๋ฐ๋ฅธ ์ค๋ ์๋ฅผ ์ ํํฉ๋๋ค. ๊ณผ๋ํ ์ค๋ฉ์ ์ค๋ฒํค๋๋ฅผ ์ฆ๊ฐ์ํฌ ์ ์๊ณ , ์ค๋ฉ ๋ถ์กฑ์ ํ์ฅ์ฑ์ ์ ํํ ์ ์์ต๋๋ค.
๊ฒฝํ ๋ฒ์น: ํฌ๊ธฐ๊ฐ 20GB์์ 40GB ์ฌ์ด์ธ ์ค๋๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค.
2. ๋ ํ๋ฆฌ์นด
๋ ํ๋ฆฌ์นด๋ ๋ด๊ฒฐํจ์ฑ์ ์ ๊ณตํ๊ณ ์ฝ๊ธฐ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ์ํ๋ ์ค๋ณต ์์ค๊ณผ ์ฝ๊ธฐ ์ฒ๋ฆฌ๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ ํ๋ฆฌ์นด ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ตฌ์ฑ์ ์ค๋๋น ํ๋์ ๋ ํ๋ฆฌ์นด์ ๋๋ค.
3. ๋ ธ๋ ์ญํ
Elasticsearch๋ ๋ง์คํฐ ๋ ธ๋, ๋ฐ์ดํฐ ๋ ธ๋, ์กฐ์ ๋ ธ๋ ๋ฑ ๋ค์ํ ๋ ธ๋ ์ญํ ์ ์ง์ํฉ๋๋ค. ๊ฐ ๋ ธ๋์ ํน์ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ ธ๋ ์ญํ ์ ํ ๋นํฉ๋๋ค. ์ ์ฉ ๋ง์คํฐ ๋ ธ๋๋ ํด๋ฌ์คํฐ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๊ณ , ๋ฐ์ดํฐ ๋ ธ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ธ๋ฑ์ฑํฉ๋๋ค. ์กฐ์ ๋ ธ๋๋ ๋ค์ด์ค๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ํด๋น ๋ฐ์ดํฐ ๋ ธ๋๋ก ๋ถ์ฐํฉ๋๋ค.
4. ๋ผ์ฐํ
๋ผ์ฐํ ์ ์ฌ์ฉํ๋ฉด ๋ฌธ์๊ฐ ์ธ๋ฑ์ฑ๋ ์ค๋๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ๊ด๋ จ ๋ฌธ์๊ฐ ๋์ผํ ์ค๋์ ์ ์ฅ๋๋๋ก ํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ๋ผ์ฐํ ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ด๋ จ ๋ฌธ์๋ฅผ ๊ฒ์ํด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ํฐ๋ง ๋ฐ ์ ์ง ๊ด๋ฆฌ
์ง์์ ์ธ ๋ชจ๋ํฐ๋ง ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ Elasticsearch ํด๋ฌ์คํฐ์ ์ํ ๋ฐ ์ฑ๋ฅ์ ์ ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
1. ๋ชจ๋ํฐ๋ง ๋๊ตฌ
Kibana์ ๊ฐ์ Elasticsearch ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ์ฑ๋ฅ์ ์ถ์ ํฉ๋๋ค. CPU ์ฌ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋์คํฌ I/O ๋ฐ ์ฟผ๋ฆฌ ๋๊ธฐ ์๊ฐ๊ณผ ๊ฐ์ ์ฃผ์ ์งํ๋ฅผ ๋ชจ๋ํฐ๋งํฉ๋๋ค. ์ ์ฌ์ ๋ฌธ์ ๋ฅผ ์๋ฆฌ๊ธฐ ์ํด ๊ฒฝ๊ณ ๋ฅผ ์ค์ ํฉ๋๋ค.
2. ๋ก๊ทธ ๋ถ์
Elasticsearch ๋ก๊ทธ๋ฅผ ๋ถ์ํ์ฌ ์ค๋ฅ ๋ฐ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํฉ๋๋ค. Elasticsearch ์์ฒด์ ๊ฐ์ ๋ก๊ทธ ์ง๊ณ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ๋ชจ๋ ๋ ธ๋์์ ๋ก๊ทธ๋ฅผ ์ค์ ์ง์คํํ๊ณ ๋ถ์ํฉ๋๋ค.
3. ์ธ๋ฑ์ค ๊ด๋ฆฌ
์ธ๋ฑ์ค๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ต์ ํํ๊ณ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. ์ ์ฅ ๋น์ฉ์ ์ค์ด๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ค๋๋์๊ฑฐ๋ ๊ด๋ จ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํฉ๋๋ค. ๋กค์ค๋ฒ, ์ถ์ ๋ฐ ์ญ์ ์ ๊ฐ์ ์ธ๋ฑ์ค ๊ด๋ฆฌ ์์ ์ ์๋ํํ๋ ค๋ฉด ์ธ๋ฑ์ค ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ(ILM)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
4. ํด๋ฌ์คํฐ ์ ๋ฐ์ดํธ
Elasticsearch ํด๋ฌ์คํฐ๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ต์ ์ํ๋ก ์ ์งํฉ๋๋ค. ์ ๋ฒ์ ์๋ ์ข ์ข ์ฑ๋ฅ ๊ฐ์ , ๋ฒ๊ทธ ์์ ๋ฐ ๋ณด์ ํจ์น๊ฐ ํฌํจ๋ฉ๋๋ค. ๋ค์ด ํ์์ ์ต์ํํ๊ธฐ ์ํด ํด๋ฌ์คํฐ ์ ๋ฐ์ดํธ๋ฅผ ์ ์คํ๊ฒ ๊ณํํ๊ณ ์คํํฉ๋๋ค.
๊ณ ๊ธ ์ต์ ํ ๊ธฐ์
๊ธฐ๋ณธ ์ต์ ํ ๊ธฐ์ ์ธ์๋ Elasticsearch ์ฑ๋ฅ์ ๋์ฑ ํฅ์์ํฌ ์ ์๋ ๋ช ๊ฐ์ง ๊ณ ๊ธ ์ ๋ต์ด ์์ต๋๋ค.
1. ํ๋ก ์ฐจ๋จ๊ธฐ
Elasticsearch๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋ก ์ฐจ๋จ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ๋ก ์ฐจ๋จ๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๊ณผํ ๊ฐ๋ฅ์ฑ์ด ์๋ ์์ ์ ๋ฐฉ์งํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ํฌ๋ก๋ ํน์ฑ์ ๋ฐ๋ผ ํ๋ก ์ฐจ๋จ๊ธฐ ์ค์ ์ ์กฐ์ ํฉ๋๋ค.
2. ํ๋ ๋ฐ์ดํฐ ๋ก๋ฉ
ํ๋ ๋ฐ์ดํฐ๋ ํ ์คํธ ํ๋์์ ์ ๋ ฌ ๋ฐ ์ง๊ณ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๊ฒ์ ๋ฆฌ์์ค ์ง์ฝ์ ์ผ ์ ์์ต๋๋ค. ๋๊ท๋ชจ ํ ์คํธ ํ๋์์ ์ ๋ ฌ ๋ฐ ์ง๊ณ๋ฅผ ์ํด ํ๋ ๋ฐ์ดํฐ ๋์ doc ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. doc ๊ฐ์ ๋์คํฌ์ ์ ์ฅ๋๋ฉฐ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์ ๋ ํจ์จ์ ์ ๋๋ค.
3. ์ ์ํ ๋ ํ๋ฆฌ์นด ์ ํ
Elasticsearch๋ ๋ ํ๋ฆฌ์นด์ ์ฑ๋ฅ ๋ฐ ๊ฐ์ฉ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ์ ๊ฐ์ฅ ์ ํฉํ ๋ ํ๋ฆฌ์นด๋ฅผ ์๋์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. ํธ๋ํฝ์ด ๋ง์ ์๋๋ฆฌ์ค์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค๋ ค๋ฉด ์ ์ํ ๋ ํ๋ฆฌ์นด ์ ํ์ ํ์ฑํํฉ๋๋ค.
4. ์ธ๋ฑ์ค ์ ๋ ฌ
ํน์ ํ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฑ์ค์ ๋ฌธ์๋ฅผ ์ ๋ ฌํฉ๋๋ค. ์ด๋ ๋์ผํ ์ ๋ ฌ ์์๋ฅผ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ์ ๋ํ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ธ๋ฑ์ค ์ ๋ ฌ์ ์ฟผ๋ฆฌ๊ฐ ์ข ์ข ์๊ฐ ๋ฒ์๋ฅผ ํํฐ๋งํ๋ ์๊ฐ ๊ธฐ๋ฐ ์ธ๋ฑ์ค์ ํนํ ์ ์ฉํ ์ ์์ต๋๋ค.
5. ๊ฐ์ ๋ณํฉ
์ธ๋ฑ์ค์ ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฐ์ ๋ณํฉํ์ฌ ์ธ๊ทธ๋จผํธ ์๋ฅผ ์ค์ด๊ณ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ๊ฐ์ ๋ณํฉ์ ๋ฆฌ์์ค ์ง์ฝ์ ์ผ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ๋์ด ์ ์ ์๊ฐ์ ์ํํด์ผ ํฉ๋๋ค. ์ธ๊ทธ๋จผํธ๋ฅผ ํตํฉํ๋ ค๋ฉด max_num_segments ๋งค๊ฐ๋ณ์์ ํจ๊ป _forcemerge API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ
๊ธ๋ก๋ฒ ํ๊ฒฝ์์ Elasticsearch๋ฅผ ๋ฐฐํฌํ ๋๋ ๋ช ๊ฐ์ง ์ถ๊ฐ์ ์ธ ์์๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
1. ์ง๋ฆฌ์ ๋ถํฌ
์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋๊ธฐ ์๊ฐ์ ์ค์ด๊ณ ๊ฐ์ฉ์ฑ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ๋ฌ ์ง๋ฆฌ์ ์ง์ญ์ Elasticsearch ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์ง์ญ์ ํด๋ฌ์คํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํํ๋ ค๋ฉด ๊ต์ฐจ ํด๋ฌ์คํฐ ๋ณต์ (CCR)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2. ์ธ์ด ์ง์
Elasticsearch๋ ํ ์คํธ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ฑ ๋ฐ ์ฟผ๋ฆฌ์ ๋ํ ๊ด๋ฒ์ํ ์ธ์ด ์ง์์ ์ ๊ณตํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์ธ์ด์ ๋ํ ๊ฒ์ ์ ํ๋๋ฅผ ํฅ์์ํค๋ ค๋ฉด ์ธ์ด๋ณ ๋ถ์๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ณ ๊ธ ์ ๋์ฝ๋ ์ง์์ ์ํด ICU ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
3. ์๊ฐ๋
์๊ฐ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ฑํ๊ณ ์ฟผ๋ฆฌํ ๋ ์๊ฐ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. ๋ ์ง๋ฅผ UTC ํ์์ผ๋ก ์ ์ฅํ๊ณ ํ์ํ ๋ ์ฌ์ฉ์์ ํ์ง ์๊ฐ๋๋ก ๋ณํํฉ๋๋ค. date ๋ฐ์ดํฐ ์ ํ์ ์ฌ์ฉํ๊ณ ์ ์ ํ ์๊ฐ๋ ํ์์ ์ง์ ํฉ๋๋ค.
4. ๋ฐ์ดํฐ ํ์งํ
Elasticsearch ์ธ๋ฑ์ค๋ฅผ ์ค๊ณํ ๋ ๋ฐ์ดํฐ ํ์งํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค. ์ฌ์ฉ์์ ๋ก์บ ๋๋ ์ง์ญ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ค๋ฅธ ์ง์ญ์ ์ฌ์ฉ์์๊ฒ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
Elasticsearch ์ต์ ํ๋ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง, ๋ถ์ ๋ฐ ํ๋์ด ํ์ํ ์ง์์ ์ธ ํ๋ก์ธ์ค์ ๋๋ค. ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ์ ๋ต๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ๊ท๋ชจ๋ ๊ธ๋ก๋ฒ ๋ฒ์์ ๊ด๊ณ์์ด Elasticsearch์ ๋ชจ๋ ์ ์ฌ๋ ฅ์ ๋ฐํํ๊ณ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ต์ ํ ๋ ธ๋ ฅ์ ์กฐ์ ํ๊ณ ๋ฐ์ดํฐ์ ์ฌ์ฉ ํจํด์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ๊ตฌ์ฑ์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ์กฐ์ ํ์ญ์์ค. ํจ๊ณผ์ ์ธ ์ต์ ํ๋ ๋ชฉ์ ์ง๊ฐ ์๋ ์ฌ์ ์ ๋๋ค.