์ถ”์ฒœ ํ•„ํ„ฐ๋ง

์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์ฒœ ์•ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฌธ์„œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๋ฌธ์„œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ฒœ์„ ํŠน์ • ๋ฌธ์„œ ์ง‘ํ•ฉ์œผ๋กœ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์˜ ์˜ˆ์‹œ๋Š” ๋ฏธ๋””์–ด ์ถ”์ฒœ์— ๊ด€ํ•œ ๊ฒƒ์ด์ง€๋งŒ ์—ฌ๊ธฐ์— ํ‘œ์‹œ๋œ ์›์น™์€ ์ผ๋ฐ˜ ์ถ”์ฒœ์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฏธ๋””์–ด ์ถ”์ฒœ์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฏธ๋””์–ด์šฉ Vertex AI Search ์†Œ๊ฐœ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ถ”์ฒœ ๋ฐ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์—…๋ฐ์ดํŠธ ํ•„ํ„ฐ๋ง

๋ฐ์ดํ„ฐ ์Šคํ† ์–ด๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ํ›„์—๋Š” ๋ชจ๋ธ์ด ์žฌํ•™์Šตํ•˜๋Š” ๋™์•ˆ ์ตœ๋Œ€ 8์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ธ์ด ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ ํ•„๋“œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ํ˜„์žฌ ๊ฐ’์„ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ๊ณผ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ „ํŒŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ฒœ์˜ ๊ฒฝ์šฐ ๊ฒ€์ƒ‰๊ณผ ๋‹ฌ๋ฆฌ ํ•„ํ„ฐ๋ง์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ๋ฐ ๋‹ค๊ฐํ™” ์„ค์ •(๋ฏธ๋””์–ด ์ถ”์ฒœ๋งŒ ํ•ด๋‹น)

ํ•„ํ„ฐ ์™ธ์—๋„ ์•ฑ์˜ ๋‹ค๊ฐํ™” ์„ค์ •์€ ๋ฏธ๋””์–ด ์ถ”์ฒœ ์‘๋‹ต์—์„œ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฐ๊ณผ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ์™€ ๋‹ค๊ฐํ™”์˜ ํšจ๊ณผ๊ฐ€ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋‹ค๊ฐํ™”ํ•˜๊ณ  ๊ทธ๋‹ค์Œ์— ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™ ๊ธฐ๋ฐ˜์˜ ๋†’์€ ๋‹ค์–‘์„ฑ๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋ฐ˜ ์†์„ฑ ํ•„ํ„ฐ๋ง์„ ๊ฒฐํ•ฉํ•˜๋ฉด ๋นˆ ์ถœ๋ ฅ์ด ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘์„ฑ์ด ๋†’์œผ๋ฉด ์•ฑ์ด ์นดํ…Œ๊ณ ๋ฆฌ๋‹น ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ œํ•œ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ† ์ด ์Šคํ† ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜ํ™”๋ฅผ ์ถ”์ฒœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทœ์น™ ๊ธฐ๋ฐ˜ ๋‹ค์–‘์„ฑ ์ˆ˜์ค€์„ ๋†’๊ฒŒ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘์„ฑ ์ˆ˜์ค€์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์˜ํ™”๊ฐ€ ์ถ”์ฒœ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด๋ฆฐ์ด ์˜ํ™” ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ์˜ํ™”(์˜ˆ: ์›”ยทE)๋งŒ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์•„๋™์šฉ ์˜ํ™” ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋ฉด ์›” E๋งŒ ์ถ”์ฒœ์œผ๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

๋‹ค์–‘์„ฑ์— ๊ด€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์€ ๋ฏธ๋””์–ด ์ถ”์ฒœ ๋‹ค๊ฐํ™”๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์ถ”์ฒœ ์•ฑ๊ณผ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฏธ๋””์–ด ์•ฑ ๋งŒ๋“ค๊ธฐ ๋˜๋Š” ์ผ๋ฐ˜ ์ถ”์ฒœ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์˜ˆ์‹œ ๋ฌธ์„œ

๋‹ค์Œ ๋ฏธ๋””์–ด ์˜ˆ์‹œ ๋ฌธ์„œ๋ฅผ ๊ฒ€ํ† ํ•˜์„ธ์š”. ์ด ํŽ˜์ด์ง€๋ฅผ ์ฝ์œผ๋ฉด์„œ ์ด๋Ÿฌํ•œ ์˜ˆ์‹œ ๋ฌธ์„œ๋ฅผ ๋‹ค์‹œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

{"id":"1","schemaId":"default_schema","structData":{"title":"Toy Story (1995)","categories":["Adventure","Animation","Children","Comedy","Fantasy"],"uri":"http://mytestdomain.movie/content/1","available_time":"2023-01-01T00:00:00Z","media_type":"movie"}}
{"id":"88125","schemaId":"default_schema","structData":{"title":"Harry Potter and the Deathly Hallows: Part 2 (2011)","categories":["Action","Adventure","Drama","Fantasy","Mystery","IMAX"],"uri":"http://mytestdomain.movie/content/88125","available_time":"2023-01-01T00:00:00Z","media_type":"movie"}}
{"id":"2857","schemaId":"default_schema","structData":{"title":"Yellow Submarine (1968)","categories":["Adventure","Animation","Comedy","Fantasy","Musical"],"uri":"http://mytestdomain.movie/content/2857","available_time":"2023-01-01T00:00:00Z","media_type":"movie"}}
{"id":"60069","schemaId":"default_schema","structData":{"title":"WALLยทE (2008)","categories":["Adventure","Animation","Children","Romance","Sci-Fi"],"uri":"http://mytestdomain.movie/content/60069","available_time":"2023-01-01T00:00:00Z","media_type":"movie"}}

ํ•„ํ„ฐ ํ‘œํ˜„์‹

ํ•„ํ„ฐ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ฒœ ํ•„ํ„ฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ํ‘œํ˜„์‹ ๊ตฌ๋ฌธ

๋‹ค์Œ ํ™•์žฅ Backusโ€“Naur ํ˜•์‹์€ ์ถ”์ฒœ ํ•„ํ„ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•„ํ„ฐ ํ‘œํ˜„์‹ ๊ตฌ๋ฌธ์„ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค.

  # A single expression or multiple expressions that are joined by "AND" or "OR".
  filter = expression, { " AND " | "OR", expression };
  # An expression can be prefixed with "-" or "NOT" to express a negation.
  expression = [ "-" | "NOT " ],
    # A parenthesized expression
    | "(", expression, ")"
    # A simple expression applying to a textual field.
    # Function "ANY" returns true if the field contains any of the literals.
    textual_field, ":", "ANY", "(", literal, { ",", literal }, ")"
    # OR filter by "available"
    available, ":", "true",
  # A literal is any double-quoted string. You must escape backslash (\) and
  # quote (") characters.
  literal = double-quoted string;
  textual_field = see the tables below;

ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ œํ•œ์‚ฌํ•ญ

์ถ”์ฒœ์˜ ํ•„ํ„ฐ ํ‘œํ˜„์‹์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๊ด„ํ˜ธ๋กœ ๋ฌถ์€ AND ๋ฐ OR ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊นŠ์ด๊ฐ€ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ์˜ ๋…ผ๋ฆฌ ํ‘œํ˜„์‹์€ ๋…ผ๋ฆฌ๊ณฑ ์ •๊ทœํ˜•(CNF)์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๊ฐ€์žฅ ๋ณต์žกํ•œ ๋…ผ๋ฆฌ ํ‘œํ˜„์‹์€ (... OR ... OR ...) AND (... OR ...) AND (... OR ...)๊ณผ ๊ฐ™์ด OR ์—ฐ์‚ฐ์ž๋งŒ ํฌํ•จํ•˜๋Š” AND๋กœ ์—ฐ๊ฒฐ๋œ ์ ˆ ๋ชฉ๋ก์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ‘œํ˜„์‹์€ NOT ํ‚ค์›Œ๋“œ ๋˜๋Š” -๋กœ ๋ฌดํšจํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ผ ์ธ์ˆ˜๊ฐ€ ์žˆ๋Š” ANY() ํ‘œํ˜„์‹์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • available ์ œํ•œ์€ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์— ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. OR ์ ˆ์ด๋‚˜ ๋ถ€์ •(NOT)์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. available: true๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์ƒ์œ„ AND ์ ˆ์˜ ์ตœ๋Œ€ ์กฐ๊ฑด ์ˆ˜๋Š” 20๊ฐœ์ž…๋‹ˆ๋‹ค.
  • OR ์ ˆ์—๋Š” ANY() ํ‘œํ˜„์‹์— ํฌํ•จ๋œ ์ธ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 100๊ฐœ๊นŒ์ง€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OR ์ ˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ANY() ํ‘œํ˜„์‹์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์ธ์ˆ˜๋Š” ๋ชจ๋‘ ์ด ํ•œ๋„์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด categories: ANY("drama", "comedy") OR categories: ANY("adventure")์—๋Š” ์„ธ ๊ฐœ์˜ ์ธ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์˜ˆ์‹œ

๋‹ค์Œ ํ‘œ์—๋Š” ์œ ํšจํ•œ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์˜ˆ์‹œ์™€ ์ž˜๋ชป๋œ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์˜ˆ์‹œ๊ฐ€ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ์˜ˆ์‹œ๊ฐ€ ์ž˜๋ชป๋œ ์ด์œ ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ‘œํ˜„์‹ ์œ ํšจ ์ฐธ๊ณ 
language_code: ANY("en", "fr") ์˜ˆ
NOT language_code: ANY("en") ์˜ˆ
NOT language_code: ANY("en", "fr") ์•„๋‹ˆ์š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ธ์ˆ˜๋กœ ANY()๋ฅผ ๋ฌดํšจํ™”ํ•ฉ๋‹ˆ๋‹ค.
language_code: ANY("en", "fr") OR categories: ANY("drama") ์˜ˆ
(language_code: ANY("en") OR language_code: ANY("fr")) AND categories: ANY("drama") ์˜ˆ
(language_code: ANY("en") AND language_code: ANY("fr")) OR categories: ANY("drama") ์•„๋‹ˆ์š” ๋…ผ๋ฆฌ๊ณฑ ์ •๊ทœํ˜•์ด ์•„๋‹™๋‹ˆ๋‹ค.
(language_code: ANY("en")) AND (available: true) ์˜ˆ
(language_code: ANY("en")) OR (available: true) ์•„๋‹ˆ์š” OR ํ‘œํ˜„์‹์˜ available๋ฅผ ๋‹ค๋ฅธ ์กฐ๊ฑด๊ณผ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ•„ํ„ฐ ํ‘œํ˜„์‹์€ ๋“œ๋ผ๋งˆ ๋˜๋Š” ์•ก์…˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๊ณ , ์˜์–ด๊ฐ€ ์•„๋‹Œ ์–ธ์–ด๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

categories: ANY("drama", "action") AND NOT language_code: ANY("en") AND available: true

ํ•„ํ„ฐ๋ง ํ•œ๋„

๊ฐ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ ํ•„๋“œ๋Š” ๊ฐ ๋ชจ๋ธ์˜ ์ผ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ•œ๋„๋Š” ์„œ๋น™ ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  • ์Šคํ‚ค๋งˆ์—์„œ ์ตœ๋Œ€ 10๊ฐœ์˜ ์ปค์Šคํ…€ ํ•„๋“œ๋ฅผ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์•ฑ ํ•™์Šต ์ค‘์— ์ปค์Šคํ…€ ํ•„๋“œ๊ฐ€ 10๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ 10๊ฐœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์Šคํ‚ค๋งˆ์— ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•œ ํ•„๋“œ ๊ฐ’์ด ์ตœ๋Œ€ 100,000,000๊ฐœ๊นŒ์ง€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์Šคํ‚ค๋งˆ์˜ ๋ฌธ์„œ ์ˆ˜๋ฅผ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•œ ํ•„๋“œ ์ˆ˜๋กœ ๊ณฑํ•˜์—ฌ ์Šคํ‚ค๋งˆ์˜ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•œ ํ•„๋“œ ๊ฐ’์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    • ์ถ”๊ฐ€ ํ•„๋“œ๋ฅผ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • ์•ฑ ํ•™์Šต์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์ถ”์ฒœ ํ•„ํ„ฐ๋ง

๋ฏธ๋””์–ด ์ถ”์ฒœ์„ ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ID๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ID๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

    1. Google Cloud ์ฝ˜์†”์—์„œ Agent Builder ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ณ  ํƒ์ƒ‰ ๋ฉ”๋‰ด์—์„œ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

      ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์˜ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

  2. ํ•„ํ„ฐ๋งํ•  ๋ฌธ์„œ ํ•„๋“œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—์˜ ๋ฌธ์„œ์—์„œ๋Š” categories ํ•„๋“œ๋ฅผ ํ•„ํ„ฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. categories ํ•„๋“œ๋ฅผ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. Google Cloud ์ฝ˜์†”์—์„œ Agent Builder ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

      Agent Builder๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ž์ฒด ๋ฐ์ดํ„ฐ์— ๊ทธ๋ผ์šด๋”ฉํ•˜์„ธ์š”.

    2. ์ถ”์ฒœ ์•ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ์Šคํ‚ค๋งˆ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด ํƒญ์—๋Š” ํ˜„์žฌ ํ•„๋“œ ์„ค์ •์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    4. ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    5. ์•„์ง ์„ ํƒ๋˜์ง€ ์•Š์•˜์œผ๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ ํ–‰์—์„œ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    6. ์Šคํ‚ค๋งˆ ์ˆ˜์ •์‚ฌํ•ญ์ด ์ „ํŒŒ๋  ๋•Œ๊นŒ์ง€ 6์‹œ๊ฐ„ ์ •๋„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. 6์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. categories ํ•„๋“œ์—์„œ ์ถ”์ฒœ์„ ๊ฐ€์ ธ์˜ค๊ณ  ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ๋ช…๋ น์ค„์—์„œ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{
         "userEvent": {
           "eventType": "EVENT_TYPE",
           "userPseudoId": "USER_PSEUDO_ID",
           "documents": {
             "id": "DOCUMENT_ID"
           }
         },
         "params": {
           "returnDocument": true,
           "attributeFilteringSyntax": true,
           "strictFiltering": true
         },
         "filter": "FILTER"
       }' \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/SERVING_CONFIG_ID:recommend"
    
    • PROJECT_ID: ํ”„๋กœ์ ํŠธ์˜ ID์ž…๋‹ˆ๋‹ค.
    • DATA_STORE_ID: ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด์˜ ID์ž…๋‹ˆ๋‹ค.
    • DOCUMENT_ID: ์ถ”์ฒœ์„ ๋ฏธ๋ฆฌ ๋ณด๋ ค๋Š” ๋ฌธ์„œ์˜ ID์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ด ๋ฌธ์„œ์—์„œ ์‚ฌ์šฉํ•œ ID๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • EVENT_TYPE: ์‚ฌ์šฉ์ž ์ด๋ฒคํŠธ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. eventType ๊ฐ’์€ UserEvent๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
    • USER_PSEUDO_ID: ์‚ฌ์šฉ์ž์˜ ๊ฐ€๋ช… ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ์ด ํ•„๋“œ์—๋Š” ๋‹จ์ผ ๊ธฐ๊ธฐ์˜ ๋ฐฉ๋ฌธ์ž๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” HTTP ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ด ํ•„๋“œ๋ฅผ ๋™์ผํ•œ ์‹๋ณ„์ž๋กœ ์„ค์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด๋ฒคํŠธ ๊ธฐ๋ก์ด ๊ฒฐํ•ฉ๋˜๊ณ  ๋ชจ๋ธ ํ’ˆ์งˆ์ด ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. ์ด ํ•„๋“œ์—๋Š” ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด(PII)๋ฅผ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.
    • SERVING_CONFIG_ID: ์„œ๋น™ ๊ตฌ์„ฑ์˜ ID์ž…๋‹ˆ๋‹ค. ์„œ๋น™ ๊ตฌ์„ฑ ID๋Š” ์—”์ง„ ID์™€ ๋™์ผํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋Š” ์—”์ง„ ID๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
    • FILTER: ํ•„ํ„ฐ ํ‘œํ˜„์‹ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ํ•„๋“œ ์ง‘ํ•ฉ์„ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ๋นˆ ๋ฌธ์ž์—ด๋กœ, ํ•„ํ„ฐ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ๋ฏธ๋””์–ด ์žฌ์ƒ ์‚ฌ์šฉ์ž ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ถ”์ฒœ์„ ์›ํ•˜๊ณ  (1) ์•„๋™ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๊ณ  (2) ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ๋งŒ ํฌํ•จ๋˜๋„๋ก ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ถœ์— ๋‹ค์Œ ๋ฌธ์„ ํฌํ•จํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    • "eventType": "media-play"
    • "filter": "categories: ANY(\"Children\") AND available: true"

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ recommend ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ํด๋ฆญํ•˜์—ฌ ์‘๋‹ต ์˜ˆ์‹œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

    ์œ„์™€ ๊ฐ™์€ ์ถ”์ฒœ ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์—๋Š” categories ๊ฐ’์ด Children์ด๊ณ  availability_start_time ๊ฐ’์ด ํ˜„์žฌ ๋‚ ์งœ๋ณด๋‹ค ๋‚˜์ค‘์— ์˜ค๋Š” ๋‘ ๋ฌธ์„œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    {
    "results": [
      {
        "id":"1",
        "schemaId":"default_schema",
        "structData":{"title":"Toy Story (1995)","categories":["Adventure","Animation","Children","Comedy","Fantasy"],"uri":"http://mytestdomain.movie/content/1",
        "availability_start_time":"2023-01-01T00:00:00Z",
        "media_type":"movie"
        }
      },
      {
        "id":"60069",
        "schemaId":"default_schema",
        "structData":{"title":"WALLยทE (2008)","categories":["Adventure","Animation","Children","Romance","Sci-Fi"],"uri":"http://mytestdomain.movie/content/60069",
        "availability_start_time":"2023-01-01T00:00:00Z",
        "media_type":"movie"
        }
      }
    ],
    "attributionToken": "ChMzMDk3NTQ4MzQxOTcxOTE0ODM1GglhZi10ZXN0LTEiDmFmLXRlc3QtMTE0NTE0KAAwBg"
    }