Intro::
_update_by_query
์_delete_by_query
์ ๋ํด์ ์์๋ด ์๋ค. ์๋ผ์คํฑ์์น ์ค๋ฌด ๊ฐ์ด๋์ ์ํ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
ย
_update_by_query
batch
_update_by_query ์์ ํ ๋ฒ์ ์ฒ๋ฆฌ๋๋ ๋ฌธ์์ ๊ทธ๋ฃน์ ์๋ฏธํ๋ฉฐ, scroll_size ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ 1000๊ฐ์ ๋ฌธ์๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌํ์ง๋ง, ํ์์ ๋ฐ๋ผ ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ย
slice
์ฌ๋ผ์ด์ฑ์ ์ฌ์ฉํ๋ฉด Elasticsearch๋ ์
๋ฐ์ดํธํ ๋ฌธ์๋ค์ ์ฌ๋ฌ ์ฌ๋ผ์ด์ค๋ก ๋๋๊ณ ๊ฐ ์ฌ๋ผ์ด์ค๋ฅผ ๋ณ๋์ ์์
์ผ๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 1,000,000๊ฐ์ ๋ฌธ์๋ฅผ 10๊ฐ์ ์ฌ๋ผ์ด์ค๋ก ๋๋๋ฉด, ๊ฐ ์ฌ๋ผ์ด์ค๋ 100,000๊ฐ์ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
ย
๊ฒฐ๋ก ์ ์ผ๋ก ์ฌ๋ผ์ด์ค ๋ณ๋ก batch ๋งํผ์ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ๋ชจ๋ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ ๋ ๊น์ง ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค.
// ๋ด์ฉ ๋ณ๊ฒฝ POST movie_search/_update_by_query?conflicts=proceed&slices=5&scroll_size=5000 { "script": { "source": "ctx._source.test = params.test", "params": { "test": "๋ณ๊ฒฝ๋์์ต๋๋ค" }, "lang": "painless" }, "query": { "range": { "prdtYear": { "gt": 10 } } } } // ํ๋ ์ญ์ POST movie_search/_update_by_query?conflicts=proceed&slices=auto&scroll_size=5000 { "script": { "source": "ctx._source.remove(params.test)", "params": { "test": "test" }, "lang": "painless" }, "query": { "range": { "prdtYear": { "gt": 10 } } } }
- conflicts=proceed
- ๋ฒ์ ์ถฉ๋์ด ์ผ์ด๋๋ ์ ์ฅ
- slices=5
- 5๊ฐ์ ์ฌ๋ผ์ด์ค๋ก ๋ณ๋ ฌ์์
- scroll_size=5000
- 5000๊ฐ์ ๋ฌธ์๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌ
ย
_delete_by_query
ํด๋น API๋ ์ง์ ํ ์ฟผ๋ฆฌ์ ์ผ์นํ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ญ์ ํฉ๋๋ค. _update_by_query ์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ย
ย
๊ถ๊ธํ์
- ํ ์ค๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก 10000๊ฐ์ ๋ฌธ์๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ค์ ๋ก ๊ฒ์์ ํ์๋ 10000๊ฐ ๋ณด๋ค ๊ฐ์๊ฐ ๋ง๋ค๋ฉด ์ด๋ป๊ฒ ๋ฌธ์๋ค์ ๊ฐ์ ธ์ค๋์ง?
- search_after๋ฅผ ์ฌ์ฉํด์ ๋ค์ ๋ฌธ์๋ค์ ๊ฐ์ ธ์จ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํ์ด์ง์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋ฒ์ 10000๊ฑด ์ด์ ๊ฒ์ํ ์ผ์ด ์๊ธฐ๋ ํ๋ค๊ณ ํ๋ค.
- 10000๊ฐ ์ด์์ ๋ฌธ์๋ฅผ ๊ฒ์ํ๊ฒ ๋ ๋, ๊ฒ์์ ํ ๋๋ง๋ค ๊ฒ์ ์กฐ๊ฑด์ ๋ถํฉํ๋ ๋ฌธ์๋ค์ด ์ ๋ ฌ๋๋ ๊ฑด์ง???
- ๊ทธ๋ ๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด
pit
์ ์์ฑํ์ฌ ์ฌ์ฉํ๋๋ก ๊ถ๊ณ ํ๋ค๊ณ ํ๋ค. - multi index ๊ฒ์ ์์๋ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๋ค.
- pit ์์ฒด๊ฐ ์ฝ์คํธ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ๋์ง ์๋ ์์ ์ด๋ผ๋ฉด ๋ฐ๋ก ์ญ์ ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
ย
Loading Comments...