หน้านี้ของบทแนะนำ Cloud Search จะแสดงวิธีตั้งค่าแหล่งข้อมูลและเครื่องมือเชื่อมต่อเนื้อหาสำหรับการจัดทำดัชนีข้อมูล หากต้องการเริ่มต้นจากจุดเริ่มต้นของบทแนะนำนี้ โปรดดู บทแนะนำเริ่มต้นใช้งาน Cloud Search
สร้างเครื่องมือเชื่อมต่อ
เปลี่ยนไดเรกทอรีที่ใช้งานอยู่เป็นไดเรกทอรี cloud-search-samples/end-to-end/connector แล้วเรียกใช้คำสั่งนี้
mvn package -DskipTests
คำสั่งจะดาวน์โหลดการขึ้นต่อกันที่จำเป็นสำหรับการสร้างเครื่องมือเชื่อมต่อเนื้อหาและคอมไพล์โค้ด
สร้างข้อมูลเข้าสู่ระบบของบัญชีบริการ
เครื่องมือเชื่อมต่อต้องใช้ข้อมูลเข้าสู่ระบบของบัญชีบริการเพื่อเรียกใช้ Cloud Search API วิธีสร้างข้อมูลเข้าสู่ระบบ
- กลับไปที่ คอนโซล Google Cloud
- คลิกข้อมูลเข้าสู่ระบบ ในการนำทางด้านซ้าย หน้า "ข้อมูลเข้าสู่ระบบ" จะปรากฏขึ้น
- คลิกรายการแบบเลื่อนลง + สร้างข้อมูลเข้าสู่ระบบ แล้วเลือก บัญชีบริการ หน้า "สร้างบัญชีบริการ" จะปรากฏขึ้น
- ป้อน "tutorial" ในช่องชื่อบัญชีบริการ
- จดค่ารหัสบัญชีบริการ (อยู่ทางขวาของชื่อบัญชีบริการ) เราจะใช้ค่านี้ในภายหลัง
- คลิกสร้าง กล่องโต้ตอบ "สิทธิ์ของบัญชีบริการ (ไม่บังคับ)" จะปรากฏขึ้น
- คลิกดำเนินการต่อ กล่องโต้ตอบ "ให้สิทธิ์เข้าถึงบัญชีบริการนี้แก่ผู้ใช้ (ไม่บังคับ)" จะปรากฏขึ้น
- คลิกเสร็จสิ้น หน้าจอ "ข้อมูลเข้าสู่ระบบ" จะปรากฏขึ้น
- คลิกอีเมลของบัญชีบริการในส่วนบัญชีบริการ หน้า "รายละเอียดบัญชีบริการ" จะปรากฏขึ้น
- คลิกรายการแบบเลื่อนลง เพิ่มคีย์ ในส่วนคีย์ แล้วเลือกสร้างคีย์ใหม่ กล่องโต้ตอบ "สร้างคีย์ส่วนตัว" จะปรากฏขึ้น
- คลิกสร้าง
- (ไม่บังคับ) หากกล่องโต้ตอบ "คุณต้องการอนุญาตการดาวน์โหลดใน console.cloud.google.com ไหม" ปรากฏขึ้น ให้คลิกอนุญาต
- ระบบจะบันทึกไฟล์คีย์ส่วนตัวลงในคอมพิวเตอร์ โปรดจดบันทึกตำแหน่งของไฟล์ที่ดาวน์โหลด เราจะใช้ไฟล์นี้เพื่อกำหนดค่าเครื่องมือเชื่อมต่อเนื้อหาเพื่อให้เครื่องมือเชื่อมต่อสามารถตรวจสอบสิทธิ์ตัวเองเมื่อเรียกใช้ Google Cloud Search API
เริ่มต้นการรองรับบุคคลที่สาม
เริ่มต้นการรองรับบุคคลที่สามสำหรับ Google Cloud Search ก่อนที่จะเรียกใช้ Cloud Search API อื่นๆ
วิธีเริ่มต้นการรองรับบุคคลที่สาม
- สร้างข้อมูลเข้าสู่ระบบของเว็บแอปพลิเคชันในโปรเจ็กต์แพลตฟอร์ม Cloud Search ดู สร้างข้อมูลเข้าสู่ระบบ คุณต้องใช้รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
- รับโทเค็นเพื่อการเข้าถึงโดยใช้
OAuth 2.0 Playgroundโดยทำดังนี้
- คลิกการกำหนดค่า OAuth 2.0 (ไอคอนการตั้งค่า) แล้วเลือกใช้ข้อมูลเข้าสู่ระบบ OAuth ของคุณเอง
- ป้อนรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
- ป้อน
https://www.googleapis.com/auth/cloud_search.settingsในช่องขอบเขต แล้วคลิกให้สิทธิ์ API - คลิกเปลี่ยนรหัสการให้สิทธิ์ของโทเค็น
เรียกใช้คำสั่ง curl นี้ โดยแทนที่
[YOUR_ACCESS_TOKEN]ด้วยโทเค็นของคุณcurl --request POST \ 'https://cloudsearch.googleapis.com/v1:initializeCustomer' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{}' \ --compressedหากทำสำเร็จ เนื้อหาการตอบกลับจะมี
operationหากไม่สำเร็จ โปรดติดต่อทีมสนับสนุนของ Cloud Searchใช้
operations.getเพื่อยืนยันการเริ่มต้นcurl 'https://cloudsearch.googleapis.com/v1/operations/<var>operation_name</var>?key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --compressedการเริ่มต้นจะเสร็จสมบูรณ์เมื่อ
doneเป็นtrue
สร้างแหล่งข้อมูล
จากนั้นสร้างแหล่งข้อมูลในคอนโซลผู้ดูแลระบบ แหล่งข้อมูลจะระบุเนมสเปซสำหรับการจัดทำดัชนีเนื้อหาโดยใช้เครื่องมือเชื่อมต่อ
- เปิดคอนโซลผู้ดูแลระบบของ Google
- คลิกไอคอนแอป หน้า "การดูแลระบบแอป" จะปรากฏขึ้น
- คลิก Google Workspace หน้า "การดูแลระบบแอป Google Workspace" จะปรากฏขึ้น
- เลื่อนลงแล้วคลิก Cloud Search หน้า "การตั้งค่าสำหรับ Google Workspace" จะปรากฏขึ้น
- คลิกแหล่งข้อมูลของบุคคลที่สาม หน้า "แหล่งข้อมูล" จะปรากฏขึ้น
- คลิก + สีเหลืองวงกลม กล่องโต้ตอบ "เพิ่มแหล่งข้อมูลใหม่" จะปรากฏขึ้น
- พิมพ์ "tutorial" ในช่องชื่อที่แสดง
- ป้อนอีเมลของบัญชีบริการที่คุณสร้างขึ้นในส่วนก่อนหน้าในช่องอีเมลของบัญชีบริการ หากไม่ทราบ อีเมลของบัญชีบริการ ให้ค้นหาค่าใน หน้า บัญชีบริการ
- คลิกเพิ่ม กล่องโต้ตอบ "สร้างแหล่งข้อมูลเรียบร้อยแล้ว" จะปรากฏขึ้น
- คลิก ตกลง จดบันทึกรหัสแหล่งข้อมูล สำหรับแหล่งข้อมูลที่สร้างขึ้นใหม่ เราจะใช้รหัสแหล่งข้อมูลเพื่อกำหนดค่าเครื่องมือเชื่อมต่อเนื้อหา
สร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคลสำหรับ GitHub API
เครื่องมือเชื่อมต่อต้องมีสิทธิ์เข้าถึง GitHub API ที่ผ่านการตรวจสอบสิทธิ์เพื่อให้มีโควต้าเพียงพอ เครื่องมือเชื่อมต่อใช้ประโยชน์จากโทเค็นเพื่อการเข้าถึงส่วนบุคคลแทน OAuth เพื่อความสะดวก โทเค็นส่วนบุคคลช่วยให้ตรวจสอบสิทธิ์ในฐานะผู้ใช้ที่มีชุดสิทธิ์ที่จำกัดคล้ายกับ OAuth
- เข้าสู่ระบบ GitHub
- คลิกรูปโปรไฟล์ที่มุมขวาบน เมนูแบบเลื่อนลงจะปรากฏขึ้น
- คลิกการตั้งค่า
- คลิกการตั้งค่าสำหรับนักพัฒนาซอฟต์แวร์
- คลิกโทเค็นเพื่อการเข้าถึงส่วนบุคคล
- คลิกสร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคล
- ป้อน "Cloud Search tutorial" ในช่องหมายเหตุ
- เลือกขอบเขต public_repo
- คลิกสร้างโทเค็น
- จดบันทึกโทเค็นที่สร้างขึ้น เครื่องมือเชื่อมต่อจะใช้โทเค็นนี้เพื่อเรียกใช้ GitHub API และให้โควต้า API เพื่อทำการจัดทำดัชนี
กำหนดค่าเครื่องมือเชื่อมต่อ
หลังจากสร้างข้อมูลเข้าสู่ระบบและแหล่งข้อมูลแล้ว ให้อัปเดตการกำหนดค่าเครื่องมือเชื่อมต่อให้มีค่าต่อไปนี้
- เปลี่ยนไดเรกทอรีเป็น
cloud-search-samples/end-to-end/connector/จากบรรทัดคำสั่ง - เปิดไฟล์
sample-config.propertiesด้วยเครื่องมือแก้ไขข้อความ - ตั้งค่าพารามิเตอร์
api.serviceAccountPrivateKeyFileเป็นเส้นทางไฟล์ของข้อมูลเข้าสู่ระบบของบริการที่คุณดาวน์โหลดไว้ก่อนหน้านี้ - ตั้งค่าพารามิเตอร์
api.sourceIdเป็นรหัสของแหล่งข้อมูลที่คุณสร้างไว้ก่อนหน้านี้ - ตั้งค่าพารามิเตอร์
github.userเป็นชื่อผู้ใช้ GitHub ของคุณ - ตั้งค่าพารามิเตอร์
github.tokenเป็นโทเค็นเพื่อการเข้าถึงที่คุณสร้างไว้ก่อนหน้านี้ - บันทึกไฟล์
อัปเดตสคีมา
เครื่องมือเชื่อมต่อจะจัดทำดัชนีทั้งเนื้อหาที่มีโครงสร้างและไม่มีโครงสร้าง คุณต้องอัปเดตสคีมาสำหรับแหล่งข้อมูลก่อนที่จะจัดทำดัชนีข้อมูล เรียกใช้คำสั่งต่อไปนี้เพื่ออัปเดตสคีมา
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.SchemaTool \
-Dexec.args="-Dconfig=sample-config.properties"
เรียกใช้เครื่องมือเชื่อมต่อ
หากต้องการเรียกใช้เครื่องมือเชื่อมต่อและเริ่มการจัดทำดัชนี ให้เรียกใช้คำสั่งต่อไปนี้
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.GithubConnector \
-Dexec.args="-Dconfig=sample-config.properties"
การกำหนดค่าเริ่มต้นสำหรับเครื่องมือเชื่อมต่อคือการจัดทำดัชนีที่เก็บเดียวในองค์กร googleworkspace การจัดทำดัชนีที่เก็บจะใช้เวลาประมาณ 1 นาที
หลังจากจัดทำดัชนีครั้งแรก เครื่องมือเชื่อมต่อจะทำการโพลการเปลี่ยนแปลงที่เก็บอย่างต่อเนื่องซึ่งต้องแสดงในดัชนี Cloud Search
การตรวจสอบโค้ด
ส่วนที่เหลือจะตรวจสอบวิธีสร้างเครื่องมือเชื่อมต่อ
การเริ่มต้นแอปพลิเคชัน
จุดเริ่มต้นของเครื่องมือเชื่อมต่อคือคลาส GithubConnector เมธอด
main จะสร้างอินสแตนซ์ IndexingApplication
ของ SDK และเริ่มต้น
ListingConnector
ที่ SDK จัดเตรียมให้จะใช้กลยุทธ์การข้ามผ่าน
ที่ใช้ประโยชน์จากคิว Cloud Search
เพื่อติดตามสถานะของรายการในดัชนี โดยจะมอบหมายให้ GithubRepository ซึ่งเครื่องมือเชื่อมต่อตัวอย่างเป็นผู้ใช้เพื่อเข้าถึงเนื้อหาจาก GitHub
การข้ามผ่านที่เก็บ GitHub
ระหว่างการข้ามผ่านแบบเต็ม ระบบจะเรียกใช้getIds()
เมธอดเพื่อพุชรายการที่อาจต้องจัดทำดัชนีลงในคิว
เครื่องมือเชื่อมต่อสามารถจัดทำดัชนีที่เก็บหรือองค์กรหลายแห่ง ระบบจะข้ามผ่านที่เก็บ GitHub ทีละรายการเพื่อลดผลกระทบจากความล้มเหลว ระบบจะส่งคืนจุดตรวจสอบพร้อมผลลัพธ์ของการข้ามผ่านซึ่งมีรายการที่เก็บที่จะจัดทำดัชนีในการเรียกใช้ getIds() ครั้งต่อๆ ไป หากเกิดข้อผิดพลาด ระบบจะจัดทำดัชนีต่อที่ที่เก็บปัจจุบันแทนที่จะเริ่มจากจุดเริ่มต้น
เมธอด collectRepositoryItems() จะจัดการการข้ามผ่านที่เก็บ GitHub เดียว เมธอดนี้จะส่งคืนคอลเล็กชัน ApiOperations
ซึ่งแสดงถึงรายการที่จะพุชลงในคิว ระบบจะพุชรายการเป็นชื่อทรัพยากรและค่าแฮชที่แสดงถึงสถานะปัจจุบันของรายการ
ระบบจะใช้ค่าแฮชในการข้ามผ่านที่เก็บ GitHub ครั้งต่อๆ ไป ค่านี้จะช่วยตรวจสอบแบบเบาๆ เพื่อดูว่าเนื้อหาเปลี่ยนแปลงไปหรือไม่โดยไม่ต้องอัปโหลดเนื้อหาเพิ่มเติม เครื่องมือเชื่อมต่อจะจัดคิวรายการทั้งหมดโดยไม่เลือก หากรายการเป็นรายการใหม่หรือค่าแฮชเปลี่ยนแปลงไป ระบบจะทำให้รายการพร้อมสำหรับการโพลในคิว มิฉะนั้นจะถือว่ารายการไม่เปลี่ยนแปลง
การประมวลผลคิว
หลังจากที่การข้ามผ่านแบบเต็มเสร็จสมบูรณ์ เครื่องมือเชื่อมต่อจะเริ่มโพลคิวเพื่อหารายการที่ต้องจัดทำดัชนี ระบบจะเรียกใช้เมธอด getDoc()
สำหรับแต่ละรายการที่ดึงมาจากคิว เมธอดจะอ่านรายการจาก GitHub และแปลงรายการเป็นรูปแบบที่เหมาะสมสำหรับการจัดทำดัชนี
เนื่องจากเครื่องมือเชื่อมต่อทำงานกับข้อมูลจริงที่อาจเปลี่ยนแปลงได้ทุกเมื่อ getDoc() จึงจะตรวจสอบด้วยว่ารายการในคิวยังคงถูกต้องและลบรายการที่ไม่มีอยู่ออกจากดัชนี
สำหรับออบเจ็กต์ GitHub แต่ละรายการที่เครื่องมือเชื่อมต่อจัดทำดัชนี เมธอด indexItem() ที่เกี่ยวข้องจะจัดการการสร้างรูปแบบรายการสำหรับ Cloud Search ตัวอย่างเช่น หากต้องการสร้างรูปแบบสำหรับรายการเนื้อหา ให้ทำดังนี้
จากนั้นให้ติดตั้งใช้งานอินเทอร์เฟซการค้นหา