Elasticsearch: ์ง‘ํ•ฉ์—์„œ ๊ฒฐ๊ณผ์˜ ์œ„์น˜ ๋˜๋Š” ์•ž์œผ๋กœ/๋’ค๋กœ ๊ฒฐ๊ณผ์˜ ์กด์žฌ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ถ”๊ฐ€

์— ๋งŒ๋“  2016๋…„ 12์›” 28์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: elastic/elasticsearch


๊ธฐ๋Šฅ ์„ค๋ช… :
์ƒˆ๋กœ์šด search_after ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ฒฐ๊ณผ ์„ธํŠธ๋ฅผ ํŽ˜์ด์ง•ํ•˜๋Š” ๋ฐ ์•„์ฃผ ์ข‹์Šต๋‹ˆ๋‹ค! Relay ์—ฐ๊ฒฐ ์‚ฌ์–‘์„ ์‚ฌ์šฉํ•˜์—ฌ ElasticSearch๋ฅผ GraphQL API์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ํ˜„์žฌ ์„ค์ • ์ „ํ›„์— ์ถ”๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์„ธํŠธ์˜ ๋ฐฑ์—”๋“œ์—์„œ ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ํ•˜๋‚˜ ๋” ๋งŽ์€ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€์ƒ‰ํ•œ ๋‹ค์Œ ์„ธํŠธ ์ „์— ๋‹จ์ผ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ(์ˆœ์„œ๋ฅผ ๋ฐ˜๋Œ€๋กœ) ์ž ์‹œ ๋™์•ˆ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํˆฌ๋ฐ•ํ•ด ๋ณด์ด์ง€๋งŒ. ์ •๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ ˆ์ฝ”๋“œ์˜ ์กด์žฌ๋ฅผ ํŒ๋ณ„ํ•˜๊ฑฐ๋‚˜ ์ „์ฒด ๊ฒฐ๊ณผ ๋‚ด์—์„œ ํ˜„์žฌ ์„ธํŠธ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์ด๊ฒƒ์ด ๋งŽ์€ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

:SearcSearch >feature discuss

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ตฌํ˜„ ๋ฐฉ์‹์„ ๊ฐ์•ˆํ•  ๋•Œ search_after ์— ์ œ๊ณต๋œ ์ •๋ ฌ ๊ฐ’๋ณด๋‹ค ๋น„๊ต๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์‹œํ•˜๋Š” ๋ฌธ์„œ์˜ ์ˆ˜๋ฅผ ์ด๋ก ์ ์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ด ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋„๋ก ๊ฒ€์ƒ‰ API์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ด ์˜คํ”„์…‹์„ ๋…ธ์ถœํ•˜๋„๋ก Lucene ์ˆ˜์ง‘๊ธฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋” ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์ง‘๊ธฐ์—์„œ ๊ฒ€์ƒ‰ ์‘๋‹ต๊นŒ์ง€ ์ด ์ •๋ณด๋ฅผ ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ์‚ฌ์†Œํ•œ ๋ณ€๊ฒฝ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ชจ์œผ๋Š”์ง€ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•œ๋™์•ˆ ์—ด์–ด ๋‘˜ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

๊ตฌํ˜„ ๋ฐฉ์‹์„ ๊ฐ์•ˆํ•  ๋•Œ search_after ์— ์ œ๊ณต๋œ ์ •๋ ฌ ๊ฐ’๋ณด๋‹ค ๋น„๊ต๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์‹œํ•˜๋Š” ๋ฌธ์„œ์˜ ์ˆ˜๋ฅผ ์ด๋ก ์ ์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ด ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋„๋ก ๊ฒ€์ƒ‰ API์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ด ์˜คํ”„์…‹์„ ๋…ธ์ถœํ•˜๋„๋ก Lucene ์ˆ˜์ง‘๊ธฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋” ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์ง‘๊ธฐ์—์„œ ๊ฒ€์ƒ‰ ์‘๋‹ต๊นŒ์ง€ ์ด ์ •๋ณด๋ฅผ ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ์‚ฌ์†Œํ•œ ๋ณ€๊ฒฝ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ชจ์œผ๋Š”์ง€ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•œ๋™์•ˆ ์—ด์–ด ๋‘˜ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

cc @elastic/es-search-ags

์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ณ„๋กœ ๊ด€์‹ฌ์ด ์—†์—ˆ๊ณ  ๋งŽ์€ ์ˆ˜์ •์ด ํ•„์š”ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ํฌ๊ธฐ์—์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰