การตั้งค่าเครื่องมือเชื่อมต่อ

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 วินาที