หน้านี้ของบทแนะนำ 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" จะปรากฏขึ้น
- คลิกแหล่งข้อมูลของบุคคลที่สาม หน้า "แหล่งข้อมูล" จะปรากฏขึ้น
- คลิก + สีเหลืองกลมๆ กล่องโต้ตอบ "เพิ่มแหล่งข้อมูลใหม่" จะปรากฏขึ้น
- ในช่องชื่อที่แสดง ให้พิมพ์ "บทแนะนำ"
- ในช่องอีเมลบัญชีบริการ ให้ป้อนอีเมลของบัญชีบริการที่คุณสร้างขึ้นในส่วนก่อนหน้า หากไม่ทราบ อีเมลของบัญชีบริการ ให้ค้นหาค่าใน หน้าบัญชีบริการ
- คลิกเพิ่ม กล่องโต้ตอบ "สร้างแหล่งข้อมูลเรียบร้อยแล้ว" จะปรากฏขึ้น
- คลิก *ตกลง จดรหัสแหล่งที่มาของแหล่งข้อมูลที่สร้างขึ้นใหม่ ระบบจะใช้รหัสแหล่งข้อมูลเพื่อกำหนดค่าโปรแกรมเชื่อมต่อเนื้อหา
สร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคลสำหรับ GitHub API
ตัวเชื่อมต่อต้องมีสิทธิ์เข้าถึง GitHub API ที่ได้รับการตรวจสอบสิทธิ์เพื่อ ให้มีโควต้าเพียงพอ เพื่อความสะดวก ตัวเชื่อมต่อจะใช้ประโยชน์จากโทเค็นเพื่อการเข้าถึงส่วนตัวแทน OAuth โทเค็นส่วนบุคคลช่วยให้ตรวจสอบสิทธิ์ในฐานะ ผู้ใช้ที่มีชุดสิทธิ์แบบจำกัดได้ ซึ่งคล้ายกับ OAuth
- เข้าสู่ระบบ GitHub
- คลิกรูปโปรไฟล์ที่มุมขวาบน เมนูแบบเลื่อนลงจะปรากฏขึ้น
- คลิกการตั้งค่า
- คลิกการตั้งค่าสำหรับนักพัฒนาซอฟต์แวร์
- คลิกโทเค็นเพื่อการเข้าถึงส่วนบุคคล
- คลิกสร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคล
- ป้อน "บทแนะนำ Cloud Search" ในช่องหมายเหตุ
- ตรวจสอบขอบเขต public_repo
- คลิกสร้างโทเค็น
- จดโทเค็นที่สร้างขึ้น ตัวเชื่อมต่อใช้เพื่อเรียก API ของ GitHub และให้โควต้า 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 เช่น หากต้องการสร้างการแสดงเนื้อหารายการ
จากนั้นให้ติดตั้งใช้งานอินเทอร์เฟซการค้นหา