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