[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