[GCP] Google Custom Search (Programmable Search Engine)

[์›๋ณธ ๋งํฌ]

Google Custom Search๋Š” Google์—์„œ ์ผ๋ถ€ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ๋”ฐ๋กœ ๋ชจ์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋‹ค.

์œ ์˜ํ•  ์ ์€ ์ง์ ‘ ์ปค์Šคํ…€ํ•ด์ฃผ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ํŠน์ • ๊ฒฝ๋กœ ๋‚ด์˜ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋งŒ ๋ณด์—ฌ์ค€๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๋งŒ์•ฝ ๋ฐฐํฌ๋œ ๋‚ด ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ๊ณ  ๊ทธ๊ฒŒ ๊ตฌ๊ธ€์˜ ๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ์— ๋“ค์–ด์žˆ๋‹ค๋ฉด, ๋‚ด ์‚ฌ์ดํŠธ์˜ ๋งํฌ๋งŒ ์ง‘์–ด๋„ฃ์–ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๋•Œ๋Š” ์ข‹๋‹ค.
๋‹ค๋งŒ ๋‚ด๊ฐ€ ์ง์ ‘ ์›ํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ๊ณ ์ˆ˜์ค€์˜ ์ปค์Šคํ…€์„ ํ•˜๋Š”๋ฐ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.




๊ฒ€์ƒ‰์—”์ง„ ๋งŒ๋“ค๊ธฐ

์•„๋ž˜ ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ, ๊ณ„์ •์ด ์—†๋‹ค๋ฉด ๋งŒ๋“ ๋‹ค.
https://programmablesearchengine.google.com/controlpanel/create?hl=ko

๊ทธ๋Ÿผ ์ƒ์„ฑํŽ˜์ด์ง€๊ฐ€ ๋œฐํ…๋ฐ

๊ฒ€์ƒ‰์—”์ง„๋ช…๊ณผ, ํƒ€๊ฒŒํŒ…์„ ์›ํ•˜๋Š” ์‚ฌ์ดํŠธ URL์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
๋‚ด ๊ฒฝ์šฐ์—๋Š” ์ง€๊ธˆ ๋‚ด github ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ๋งŒ ๊ฒ€์ƒ‰์„ ํ•˜๋„๋ก ํ–ˆ๋‹ค.

๊ทธ๋Ÿผ ์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋˜์ ธ์ค„ ๊ฒƒ์ธ๋ฐ

์ €๊ฑธ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค์จ๋„ ๋œ๋‹ค.




UI ๊ทธ๋Œ€๋กœ ์“ฐ๊ธฐ

์žฅ์ ์€ ๊ฐ„ํŽธํ•˜๊ณ , ๋ฌด๋ฃŒ๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ๋„ ๋”ฑํžˆ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ ์ ์ ˆํžˆ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๋‹ค๋งŒ ์กฐ๊ธˆ ์œ ์˜ํ•  ์ ์€, ๋กœ์ปฌ ํ…Œ์ŠคํŠธ๊ฐ€ ์ž˜ ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋„๋ฉ”์ธ์ด ๋‹ฌ๋ ค์žˆ์–ด์•ผ CORS ์—๋Ÿฌ ๋“ฑ์ด ๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ• ๋•Œ๋„ ํ”„๋ฆฌ๋ทฐ ๋ฐฐํฌ๋ฅผ ๋„์šฐ๊ฑฐ๋‚˜ ํ•ด์•ผํ•œ๋‹ค.

๊ทธ๋Ÿผ ์ด๋Ÿฐ์‹์œผ๋กœ ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๊ณ 

๊ฒ€์ƒ‰ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.





API๋กœ ์กฐํšŒ

UI๋ฅผ ๊ทธ๋Œ€๋กœ ์“ฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ๊ฑฐ๋‚˜, ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๊ฐ€๊ณตํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

https://customsearch.googleapis.com/customsearch/v1?q=๊ฒ€์ƒ‰์–ด&cx=๊ฒ€์ƒ‰์—”์ง„๊ณ ์œ ๋ฒˆํ˜ธ&key=APIํ‚ค

๋‹จ์ ์€ ๋ฌด๋ฃŒ ์ผ์ผ ์‚ฌ์šฉ๋Ÿ‰์ด 100๋ฒˆ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋น„์šฉ์„ ๋‚ด๋ฉด ๋” ์ถ”๊ฐ€๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ณ ์œ ๋ฒˆํ˜ธ๋Š” ์—”์ง„ ๋งŒ๋“ค๋•Œ ์ฃผ๋Š” ์ด๊ฑฐ๊ณ 

API ํ‚ค๋Š” ์—ฌ๊ธฐ์„œ
https://developers.google.com/custom-search/v1/introduction?hl=ko

ํ‚ค ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ ์ƒ์„ฑํ•ด์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ถœํ•˜๋ฉด, ์ž˜ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ด๋‹ค.




API ๋น„์šฉ ๊ฒฐ์ œ

๋น„์šฉ ๊ฒฐ์ œ๋Š” GCP์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค.
ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ Custom Search API๋ฅผ ํ™œ์„ฑํ™”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋น„์šฉ์€ ์ฟผ๋ฆฌ 1000๊ฐœ๋‹น 5๋‹ฌ๋Ÿฌ๋‹ค.
์ผ๋ฐ˜ API๋Š” ์ผ์ผ 10000๊ฑด์„ ์ดˆ๊ณผํ•  ์ˆ˜๋Š” ์—†๊ณ , Restrict API๋Š” ์ œํ•œ์ด ์—†๋‹ค.




Restrict API

ํ˜ธ์ถœ๋Ÿ‰์ด ๋งŽ๋‹ค๋ฉด Restrict ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
์ด๊ฑด ๊ฒ€์ƒ‰ ํƒ€๊ฒŸ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์‚ฌ์ดํŠธ๊ฐ€ 10๊ฐœ ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ œํ•œ๋งŒ ๋นผ๋ฉด ๊ทธ๋ƒฅ API์™€ ๋™์ผํ•˜๋‹ค.

์‚ฌ์‹ค ๋ณธ์ธ ์„œ๋น„์Šค์— ๋ถ™์ด๋Š”๋ฐ๋ฉด ์•„๋ฌด๋ฆฌ ๋„๋ฉ”์ธ์ด ์•„๋ฌด๋ฆฌ ๋งŽ์•„๋„ 2-3๊ฐœ์ผํ…๋ฐ, 10๊ฐœ ์กฐ๊ฑด์ด๋ฉด ๋Œ€๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค.

API ๊ฒฝ๋กœ์— siterestrict๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค.



์ฐธ์กฐ
https://developers.google.com/custom-search/v1/introduction?hl=ko