Google Cloud Search SDK มีพารามิเตอร์การกำหนดค่าที่ Google จัดหาให้ สำหรับเครื่องมือเชื่อมต่อทั้งหมด การปรับการตั้งค่าเหล่านี้จะช่วยเพิ่มประสิทธิภาพการจัดทำดัชนีข้อมูล คู่มือนี้แสดงปัญหาการจัดทำดัชนีที่พบบ่อยและการตั้งค่าเพื่อแก้ไขปัญหา
อัตราการส่งข้อมูลการจัดทำดัชนีต่ำสำหรับ FullTraversalConnector
ตารางต่อไปนี้แสดงการตั้งค่าเพื่อปรับปรุงอัตราการรับส่งข้อมูลสำหรับ
FullTraversalConnector
| การตั้งค่า | คำอธิบาย | ค่าเริ่มต้น | การเปลี่ยนแปลงที่แนะนำ |
|---|---|---|---|
traverse.partitionSize |
จำนวนApiOperation()ที่ประมวลผลเป็นกลุ่ม SDK จะรอให้พาร์ติชันเสร็จสมบูรณ์ก่อนที่จะดึงข้อมูลเพิ่มเติม |
50 | เพิ่มเป็น 1,000 ขึ้นไปหากมีหน่วยความจำเพียงพอ |
batch.batchSize |
จำนวนคำขอที่จัดกลุ่มไว้ด้วยกัน | 10 | ลองลดขนาดกลุ่ม |
batch.maxActiveBatches |
ชุดงานพร้อมกันที่อนุญาต | 20 | หากคุณลด batchSize ให้เพิ่มโดยใช้ (partitionSize / batchSize) + 50 |
traverse.threadPoolSize |
จำนวนเธรดสำหรับการประมวลผลแบบขนาน | 50 | เพิ่มค่านี้เป็นพหุคูณของ 10 |
ลองใช้ setRequestMode() เพื่อสลับระหว่างโหมดคำขอ API ของ ASYNCHRONOUS กับ SYNCHRONOUS
อัตราการส่งข้อมูลการจัดทำดัชนีต่ำสำหรับ ListTraversalConnector
ListTraversalConnector ใช้ Traverser 1 รายการโดยค่าเริ่มต้น หากต้องการเพิ่ม
ปริมาณงาน ให้สร้าง Traverser หลายรายการสำหรับสถานะของสินค้าที่เฉพาะเจาะจง (เช่น
NEW_ITEM, MODIFIED)
| การตั้งค่า | คำอธิบาย | ค่าเริ่มต้น | เปลี่ยน |
|---|---|---|---|
repository.traversers | สร้าง Traverser แต่ละรายการ
โดยมีชื่อที่ไม่ซ้ำกัน (เช่น t1, t2) | One traverser | เพิ่มโปรแกรม Crawl |
traversers.t1.hostload | จำนวน เธรดที่จะจัดทำดัชนีรายการพร้อมกัน | 5 | ลองใช้ค่า 10 หรือ มากกว่า |
schedule.pollQueueIntervalSecs | วินาทีที่รอ ก่อนที่จะสำรวจคิวที่ว่างเปล่าอีกครั้ง | 10 | ลองลดเป็น 1 |
traverser.t1.pollRequest.statuses | สถานะ
ที่จะจัดทำดัชนี (เช่น NEW_ITEM) | ทั้งหมด | ใช้ตัวสำรวจที่แตกต่างกันสำหรับสถานะต่างๆ |
SDK หมดเวลาหรือถูกขัดจังหวะ
หากพบว่าการอัปโหลดไฟล์ขนาดใหญ่หมดเวลา ให้เพิ่มการหมดเวลา
โดยใช้ traverser.timeout=seconds
(ค่าเริ่มต้นคือ 60 วินาที) นอกจากนี้ คุณยังเพิ่มการหมดเวลาของคำขอ API ได้ด้วย โดยทำดังนี้
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
indexingService.connectTimeoutSeconds |
ระยะหมดเวลาของการเชื่อมต่อสำหรับคำขอ API | 120 วินาที |
indexingService.readTimeoutSeconds |
อ่านการหมดเวลาสำหรับคำขอ API | 120 วินาที |