พารามิเตอร์การกำหนดค่าที่ Google มีให้

เครื่องมือเชื่อมต่อทั้งหมดมีไฟล์การกำหนดค่าที่เชื่อมโยงซึ่งมีพารามิเตอร์ที่เครื่องมือเชื่อมต่อใช้ เช่น รหัสสำหรับที่เก็บ พารามิเตอร์ถือเป็นคู่คีย์-ค่า เช่น api.sourceId=1234567890abcdef

Google Cloud Search SDK มีพารามิเตอร์การกำหนดค่าที่ Google มีให้หลายรายการซึ่งใช้โดยเครื่องมือเชื่อมต่อต่างๆ ในพารามิเตอร์การกำหนดค่าที่ Google มีให้ มีเพียงพารามิเตอร์การเข้าถึงแหล่งข้อมูลเท่านั้นที่ต้องกําหนดในไฟล์การกำหนดค่า คุณไม่จําเป็นต้องกําหนดค่าพารามิเตอร์ที่ Google ให้ใหม่ในไฟล์การกำหนดค่า เว้นแต่คุณต้องการลบล้างค่าเริ่มต้น

ข้อมูลอ้างอิงนี้อธิบายพารามิเตอร์การกำหนดค่าที่ Google มีให้

ตัวอย่างไฟล์การกำหนดค่า

ตัวอย่างต่อไปนี้แสดงไฟล์การกำหนดค่าข้อมูลประจำตัวที่มีคู่คีย์-ค่าของพารามิเตอร์

#
# Configuration file sample
#
api.sourceId=1234567890abcdef
api.identitySourceId=0987654321lmnopq
api.serviceAccountPrivateKeyFile= ./PrivateKey.json

#
# Traversal schedules
#
schedule.traversalIntervalSecs=7200
schedule.incrementalTraversalIntervalSecs=600
#
# Default ACLs
#
defaultAcl.mode=fallback
defaultAcl.public=true
  

พารามิเตอร์ที่ตั้งค่าโดยทั่วไป

ส่วนนี้จะแสดงพารามิเตอร์การกำหนดค่าที่จำเป็นและไม่บังคับซึ่งตั้งไว้ตามปกติ หากคุณไม่เปลี่ยนค่าสำหรับพารามิเตอร์ที่ไม่บังคับ เครื่องมือเชื่อมต่อจะใช้ค่าเริ่มต้นที่ SDK ระบุไว้

การเข้าถึงแหล่งข้อมูล

ตารางต่อไปนี้แสดงพารามิเตอร์ทั้งหมดที่จำเป็นเพื่อให้ปรากฏในไฟล์การกำหนดค่า พารามิเตอร์ที่คุณใช้จะขึ้นอยู่กับประเภทของเครื่องมือเชื่อมต่อที่คุณกำลังสร้าง (เครื่องมือเชื่อมต่อเนื้อหาหรือเครื่องมือเชื่อมต่อข้อมูลประจำตัว)

การเกริ่นนำ พารามิเตอร์
รหัสแหล่งข้อมูล api.sourceId=1234567890abcdef

เครื่องมือเชื่อมต่อจำเป็นต้องใช้พารามิเตอร์นี้เพื่อระบุตำแหน่งของที่เก็บ คุณจะได้รับค่านี้เมื่อเพิ่มแหล่งข้อมูลที่จะค้นหา พารามิเตอร์นี้ต้องอยู่ในไฟล์การกำหนดค่าเครื่องมือเชื่อมต่อ

รหัสแหล่งที่มาของข้อมูลประจำตัว api.identitySourceId=0987654321lmnopq

เครื่องมือเชื่อมต่อข้อมูลประจำตัวต้องใช้พารามิเตอร์นี้เพื่อระบุตำแหน่งของแหล่งที่มาของข้อมูลประจำตัวภายนอก คุณจะได้รับค่านี้เมื่อแมปข้อมูลประจำตัวของผู้ใช้ใน Cloud Search โดยพารามิเตอร์นี้ต้องอยู่ในไฟล์การกำหนดค่าเครื่องมือเชื่อมต่อข้อมูลประจำตัวทั้งหมด

ไฟล์คีย์ส่วนตัวของบัญชีบริการ api.serviceAccountPrivateKeyFile=./PrivateKey.json

พารามิเตอร์นี้มีคีย์ส่วนตัวที่จำเป็นสำหรับการเข้าถึงที่เก็บ โดยคุณจะได้รับค่านี้เมื่อกำหนดค่าการเข้าถึง REST API ของ Google Cloud Search โดยพารามิเตอร์นี้ต้องอยู่ในไฟล์การกำหนดค่าทั้งหมด

รหัสบัญชีบริการ api.serviceAccountId=123abcdef4567890

พารามิเตอร์นี้ระบุรหัสบัญชีบริการ ค่าสตริงว่างเริ่มต้นจะใช้ได้เมื่อไฟล์การกำหนดค่าระบุพารามิเตอร์ไฟล์คีย์ส่วนตัวเท่านั้น ต้องระบุพารามิเตอร์นี้หากไฟล์คีย์ส่วนตัวไม่ใช่คีย์ JSON

รหัสบัญชี Google Workspace api.customerId=123abcdef4567890

พารามิเตอร์นี้จะระบุรหัสบัญชีสำหรับบัญชี Google Workspace ขององค์กร คุณจะได้รับค่านี้เมื่อแมปข้อมูลประจำตัวของผู้ใช้ใน Cloud Search ต้องระบุพารามิเตอร์นี้เมื่อซิงค์ผู้ใช้โดยใช้เครื่องมือเชื่อมต่อข้อมูลประจำตัว

URL ราก api.rootUrl=baseURLPath

พารามิเตอร์นี้ระบุเส้นทาง URL หลักของบริการจัดทำดัชนี

ค่าเริ่มต้นของพารามิเตอร์นี้เป็นสตริงว่างเปล่าที่แปลงเป็น https://cloudsearch.googleapis.com

กำหนดการข้ามผ่าน

พารามิเตอร์การตั้งเวลาจะกำหนดความถี่ที่เครื่องมือเชื่อมต่อรอระหว่างการข้ามผ่าน

การเกริ่นนำ พารามิเตอร์
การส่งผ่านเต็มรูปแบบเมื่อเริ่มต้นเครื่องมือเชื่อมต่อ schedule.performTraversalOnStart=true|false

เครื่องมือเชื่อมต่อจะข้ามผ่านอย่างเต็มรูปแบบเมื่อเริ่มต้นเครื่องมือเชื่อมต่อ แทนที่จะรอให้ช่วงแรกหมดอายุ ค่าเริ่มต้นคือ true.

การส่งผ่านเต็มรูปแบบหลังจากช่วงเวลา schedule.traversalIntervalSecs=intervalInSeconds

ตัวเชื่อมต่อจะดำเนินการข้ามผ่านอย่างเต็มรูปแบบหลังจากช่วงเวลาที่ระบุ ระบุช่วงเวลาระหว่างการส่งผ่านเป็นวินาที ค่าเริ่มต้นคือ 86400 (จำนวนวินาทีใน 1 วัน)

ออกหลังจากข้ามผ่านครั้งเดียว connector.runOnce=true|false

เครื่องมือเชื่อมต่อจะเรียกใช้การข้ามผ่านเต็มรูปแบบ 1 ครั้งแล้วออก ควรตั้งค่าพารามิเตอร์นี้เป็น true เฉพาะในกรณีที่คุณกำลังใช้กลยุทธ์การข้ามผ่านเต็มรูปแบบ กลยุทธ์การแสดงข้อมูลและกราฟต้องใช้การส่งผ่านหลายรายการเพื่อตรวจหาการเปลี่ยนแปลงและจัดทำดัชนีเนื้อหา ค่าเริ่มต้นคือ false (อย่าออกหลังจากการส่งผ่านครั้งเดียว)

การส่งผ่านที่เพิ่มขึ้นหลังช่วงหนึ่ง schedule.incrementalTraversalIntervalSecs=intervalInSeconds

เครื่องมือเชื่อมต่อจะข้ามผ่านเพิ่มหลังจากผ่านช่วงที่ระบุ ระบุช่วงเวลาระหว่างการส่งผ่านในหน่วยวินาที ค่าเริ่มต้นคือ 300 (จำนวนวินาทีใน 5 นาที)

ช่วงเวลาในคิวแบบสำรวจที่กำหนดเวลาไว้ schedule.pollQueueIntervalSecs=interval_in_seconds

ช่วงเวลาระหว่างช่วงของคิวการสำรวจความคิดเห็นที่กำหนดเวลาไว้ (เป็นวินาที) ซึ่งใช้โดยเครื่องมือเชื่อมต่อการข้ามผ่านรายการเท่านั้น ค่าเริ่มต้นคือ 10.

รายการควบคุมการเข้าถึง

เครื่องมือเชื่อมต่อจะควบคุมการเข้าถึงรายการโดยใช้ ACL พารามิเตอร์หลายรายการช่วยให้คุณป้องกันการเข้าถึงของผู้ใช้ไปยังระเบียนที่จัดทำดัชนีด้วย ACL ได้

หากที่เก็บมีข้อมูล ACL แต่ละรายการที่เชื่อมโยงกับแต่ละรายการ ให้อัปโหลดข้อมูล ACL ทั้งหมดเพื่อควบคุมการเข้าถึงรายการภายใน Cloud Search หากที่เก็บของคุณให้ข้อมูล ACL บางส่วนหรือไม่มีข้อมูลเลย คุณสามารถระบุข้อมูล ACL เริ่มต้นในพารามิเตอร์ต่อไปนี้ซึ่ง SDK จัดเตรียมไว้ให้เครื่องมือเชื่อมต่อ

การเกริ่นนำ พารามิเตอร์
โหมด ACL defaultAcl.mode=mode

กำหนดเวลาที่จะใช้ ACL เริ่มต้น ค่าที่ถูกต้อง:

  • none: ไม่ใช้ ACL เริ่มต้น (ในโหมดนี้ คุณจะค้นหาระเบียนไม่ได้ เว้นแต่คุณจะกำหนด ACL แต่ละรายการ)
  • fallback: ใช้ ACL เริ่มต้นก็ต่อเมื่อไม่มี ACL อยู่แล้ว
  • append: เพิ่ม ACL เริ่มต้นไปยัง ACL ที่มีอยู่
  • override: แทนที่ ACL ที่มีอยู่ด้วย ACL เริ่มต้น

โหมดเริ่มต้นคือ none

ACL สาธารณะเริ่มต้น defaultAcl.public=true|false

ACL เริ่มต้นที่ใช้สำหรับที่เก็บทั้งหมดได้รับการตั้งค่าเป็นการเข้าถึงสาธารณสมบัติ ค่าเริ่มต้นคือ false.

ผู้อ่านกลุ่ม ACL ทั่วไป defaultAcl.readers.groups=google:group1@mydomain.com, group2
ผู้อ่าน ACL ทั่วไป defaultAcl.readers.users=user1, user2, google:user3@mydomain.com
ACL ทั่วไปที่ปฏิเสธผู้อ่านกลุ่ม defaultAcl.denied.groups=group3
Acl ทั่วไปที่ผู้อ่านถูกปฏิเสธ defaultAcl.denied.users=user4, user5
การเข้าถึงทั้งโดเมน หากต้องการระบุว่าผู้ใช้ทุกรายในโดเมนจะเข้าถึงระเบียนที่จัดทำดัชนีทั้งหมดแบบสาธารณะได้โดยตั้งค่าพารามิเตอร์ทั้ง 2 รายการต่อไปนี้ด้วยค่า
  • defaultAcl.mode=override
  • defaultACL.public=true
ACL ที่กำหนดค่าทั่วไป หากต้องการระบุ ACL 1 รายการสำหรับระเบียนแต่ละรายการของที่เก็บข้อมูล ให้ตั้งค่าค่าพารามิเตอร์ต่อไปนี้ทั้งหมด
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1@mydomain.com, group2 code>
  • defaultAcl.readers.users=user1@mydomain.com, user2, google:user3@mydomain.com
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    ระบบจะถือว่าผู้ใช้และกลุ่มที่ระบุทั้งหมดเป็นผู้ใช้/กลุ่มตามโดเมนในเครื่อง เว้นแต่ว่าจะมี "google:" (ค่าคงที่ตามตัวอักษร) นำหน้า

    ผู้ใช้หรือกลุ่มเริ่มต้นเป็นสตริงว่างเปล่า ระบุพารามิเตอร์ผู้ใช้และกลุ่มเฉพาะในกรณีที่ตั้งค่า defaultAcl.public เป็น false หากต้องการแสดงรายการกลุ่มและผู้ใช้หลายกลุ่ม ให้ใช้รายการที่คั่นด้วยคอมมา

    หากตั้งค่า defaultAcl.mode เป็น none คุณจะค้นหาระเบียนไม่ได้หากไม่มี ACL แต่ละรายการที่กำหนดไว้

พารามิเตอร์การกำหนดค่าข้อมูลเมตา

ข้อมูลเมตาบางรายการสามารถกำหนดค่าได้ เครื่องมือเชื่อมต่อจะตั้งค่าช่องข้อมูลเมตาที่กำหนดค่าได้ในระหว่างการจัดทำดัชนี หากเครื่องมือเชื่อมต่อไม่ได้ตั้งค่าช่องไว้ ระบบจะใช้พารามิเตอร์ในไฟล์การกำหนดค่าเพื่อตั้งค่าช่อง

ไฟล์การกำหนดค่ามีชุดพารามิเตอร์การกำหนดค่าข้อมูลเมตาที่มีชื่อซึ่งระบุด้วยคำต่อท้าย .field เช่น itemMetadata.title.field=movieTitle หากมีค่าสำหรับพารามิเตอร์เหล่านี้ จะใช้เพื่อกำหนดค่าช่องข้อมูลเมตา หากไม่มีค่าสำหรับพารามิเตอร์ข้อมูลเมตาที่มีชื่อ ระบบจะกำหนดค่าข้อมูลเมตาโดยใช้พารามิเตอร์ที่มีคำต่อท้าย .defaultValue)

ตารางต่อไปนี้แสดงพารามิเตอร์การกำหนดค่าข้อมูลเมตา

การตั้งค่า พารามิเตอร์
ชื่อ itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
ชื่อสินค้า หากไม่ได้กำหนด title.field เป็นค่า ระบบจะใช้ค่าสำหรับ title.defaultValue
URL ที่เก็บซอร์ส itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
URL ของสินค้าที่ใช้ในผลการค้นหา คุณอาจตั้งค่า defaultValue เพื่อเก็บ URL ของที่เก็บทั้งหมด เช่น หากการตอบกลับเป็นไฟล์ CSV และมี URL เพียงรายการเดียวสำหรับแต่ละรายการ หากไม่ได้กำหนด sourceRepositoryUrl.field เป็นค่า ระบบจะใช้ค่าของ sourceRepositoryUrl.defaultValue
ชื่อคอนเทนเนอร์ itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
ชื่อคอนเทนเนอร์ของรายการ เช่น ชื่อไดเรกทอรีหรือโฟลเดอร์ระบบไฟล์ หากไม่ได้กำหนด containerName.field เป็นค่า ระบบจะใช้ค่าสำหรับ containerName.defaultValue
ประเภทของออบเจ็กต์ itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie
ประเภทออบเจ็กต์ที่เครื่องมือเชื่อมต่อใช้ตามที่ระบุไว้ในสคีมา เครื่องมือเชื่อมต่อจะไม่จัดทำดัชนี Structured Data หากไม่ได้ระบุพร็อพเพอร์ตี้นี้
หากไม่ได้กำหนด objectType.field เป็นค่า ระบบจะใช้ค่าสำหรับ objectType.defaultValue
เวลาสร้าง itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
การประทับเวลาการสร้างเอกสาร หากไม่ได้กำหนด createTime.field เป็นค่า ระบบจะใช้ค่าของ createTime.defaultValue
เวลาอัปเดต itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
การประทับเวลาการแก้ไขล่าสุดของรายการ หากไม่ได้กำหนด updateTime.field เป็นค่า ระบบจะใช้ค่าของ updateTime.defaultValue
ภาษาของเนื้อหา itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
ภาษาของเนื้อหาสำหรับเอกสารที่จัดทำดัชนี หากไม่ได้กำหนด contentLanguage.field เป็นค่า ระบบจะใช้ค่าสำหรับ contentLanguage.defaultValue
ประเภท MIME itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=image/bmp
ประเภท MIME ดั้งเดิมของ ItemContent.content ในที่เก็บต้นทาง มีความยาวได้สูงสุดไม่เกิน 256 อักขระ หากไม่ได้กำหนด mimeType.field เป็นค่า ระบบจะใช้ค่าสำหรับ mimeType.defaultValue
ข้อมูลเมตาเกี่ยวกับคุณภาพการค้นหา itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=1
ตัวบ่งชี้คุณภาพของสินค้า ซึ่งใช้เพื่อสร้างอิทธิพลต่อคุณภาพการค้นหา ค่าควรอยู่ระหว่าง 0.0 (คุณภาพต่ำสุด) ถึง 1.0 (คุณภาพสูงสุด) ค่าเริ่มต้นคือ 0.0 หากไม่ได้กำหนด quality.field เป็นค่า ระบบจะใช้ค่าสำหรับ quality.defaultValue
แฮช itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
ค่าการแฮชที่ระบุโดยตัวเรียกใช้ API กรณีนี้ใช้กับเมธอด items.push เพื่อคํานวณสถานะที่แก้ไขได้ ความยาวสูงสุดคือ 2,048 อักขระ หากไม่ได้กำหนด hash.field เป็นค่า ระบบจะใช้ค่าสำหรับ hash.defaultValue

รูปแบบวันที่และเวลา

รูปแบบวันที่และเวลาจะระบุรูปแบบที่ต้องการในแอตทริบิวต์ข้อมูลเมตา หากไฟล์การกำหนดค่าไม่มีพารามิเตอร์นี้ ระบบจะใช้ค่าเริ่มต้น ตารางต่อไปนี้จะแสดงพารามิเตอร์นี้

การตั้งค่า พารามิเตอร์
รูปแบบวันที่และเวลาเพิ่มเติม structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
รายการรูปแบบเพิ่มเติม java.time.format.DateTimeFormatter ที่คั่นด้วยเครื่องหมายอัฒภาค ระบบจะใช้รูปแบบดังกล่าวเมื่อแยกวิเคราะห์ค่าสตริงสำหรับช่องวันที่หรือวันที่และเวลาในข้อมูลเมตาหรือสคีมา ค่าเริ่มต้นจะเป็นรายการที่ว่างเปล่า แต่ระบบจะรองรับรูปแบบ RFC 3339 และ RFC 1123 เสมอ

Structured Data

Cloud Search Indexing API ให้บริการสคีมาที่คุณใช้เพื่อปรับแต่งวิธีที่ Cloud Search จัดทำดัชนีและแสดงข้อมูลได้ หากใช้สคีมาที่เก็บในเครื่อง คุณต้องระบุชื่อสคีมาภายในสำหรับ Structured Data

การเกริ่นนำ พารามิเตอร์
ชื่อสคีมาในเครื่อง structuredData.localSchema=mySchemaName

ระบบอ่านชื่อสคีมาจากแหล่งข้อมูลและใช้สำหรับข้อมูลที่มีโครงสร้างของที่เก็บ

โดยค่าเริ่มต้นจะเป็นสตริงว่างเปล่า

คุณภาพเนื้อหาและการค้นหา

สำหรับที่เก็บที่มีเนื้อหาอิงตามระเบียนหรือเนื้อหาในช่อง (เช่น CRM, CVS หรือฐานข้อมูล) SDK จะอนุญาตให้จัดรูปแบบ HTML สำหรับช่องข้อมูลโดยอัตโนมัติ เครื่องมือเชื่อมต่อจะกำหนดช่องข้อมูลเมื่อเริ่มต้นการดำเนินการของเครื่องมือเชื่อมต่อ จากนั้นใช้เทมเพลตเนื้อหาเพื่อจัดรูปแบบบันทึกข้อมูลแต่ละรายการก่อนอัปโหลดไปยัง Cloud Search

เทมเพลตเนื้อหาจะกำหนดความสำคัญของค่าในช่องแต่ละรายการสำหรับการค้นหา ต้องกรอกข้อมูลในช่อง HTML <title> และกำหนดให้มีลำดับความสำคัญสูงสุด คุณกำหนดระดับความสำคัญด้านคุณภาพการค้นหาสำหรับช่องเนื้อหาอื่นๆ ทั้งหมดได้ ซึ่งได้แก่ สูง ปานกลาง หรือต่ำ ช่องเนื้อหาที่ไม่ได้กำหนดในหมวดหมู่ที่เจาะจงจะมีค่าเริ่มต้นเป็นลำดับความสำคัญต่ำ

การเกริ่นนำ พารามิเตอร์
ชื่อ HTML ของเนื้อหา contentTemplate.templateName.title=myTitleField

ช่องชื่อ HTML ของเนื้อหาและช่องคุณภาพการค้นหาสูงสุด ต้องระบุพารามิเตอร์นี้ก็ต่อเมื่อคุณใช้เทมเพลตเนื้อหา HTML เท่านั้น ค่าเริ่มต้นคือสตริงว่างเปล่า

คุณภาพการค้นหาสูงสำหรับช่องเนื้อหา contentTemplate.templateName.quality.high=hField1,hField2

ช่องเนื้อหาที่มีลำดับความสำคัญในการค้นหาสูง โดยค่าเริ่มต้นจะเป็นสตริงว่างเปล่า

คุณภาพการค้นหาปานกลางสำหรับช่องเนื้อหา contentTemplate.templateName.quality.medium=mField1,mField2

ช่องเนื้อหาที่มีลำดับความสำคัญการค้นหาปานกลาง โดยค่าเริ่มต้นจะเป็นสตริงว่างเปล่า

คุณภาพการค้นหาต่ำสำหรับช่องเนื้อหา contentTemplate.templateName.quality.low=lField1,lField2

ช่องเนื้อหาที่มีลำดับความสำคัญการค้นหาต่ำ โดยค่าเริ่มต้นจะเป็นสตริงว่างเปล่า

ช่องเนื้อหาที่ไม่ระบุ contentTemplate.templateName.unmappedColumnsMode=value

วิธีที่เครื่องมือเชื่อมต่อจัดการช่องเนื้อหาที่ไม่ระบุ ค่าที่ใช้ได้มีดังนี้

  • APPEND - เพิ่มช่องเนื้อหาที่ไม่ระบุลงในเทมเพลต
  • IGNORE - ไม่สนใจช่องเนื้อหาที่ไม่ได้ระบุ

    ค่าเริ่มต้นคือ APPEND

รวมชื่อช่องในเทมเพลต HTML contentTemplate.templateName.includeFieldName=true|false

ระบุว่าจะรวมชื่อช่องพร้อมกับข้อมูลช่องในเทมเพลต HTML หรือไม่ ค่าเริ่มต้นคือ true และทำให้ค้นหาชื่อช่องได้ในฐานะส่วนหนึ่งของข้อมูลเนื้อหา

พารามิเตอร์ที่ตั้งค่าไม่ปกติ

คุณแทบจะไม่ต้องตั้งค่าพารามิเตอร์ที่แสดงในส่วนนี้ ระบบจะตั้งค่าเริ่มต้นของพารามิเตอร์เพื่อประสิทธิภาพสูงสุด Google ไม่แนะนำให้ตั้งค่าพารามิเตอร์เหล่านี้ให้มีค่าแตกต่างจากค่าเริ่มต้นโดยไม่มีข้อกำหนดที่เฉพาะเจาะจงในที่เก็บของคุณ

การกำหนดค่าพร็อกซี

SDK อนุญาตให้คุณกำหนดค่าเครื่องมือเชื่อมต่อเพื่อใช้พร็อกซีสำหรับการเชื่อมต่อขาออก

ต้องมีพารามิเตอร์ transport.proxy.hostname และ transport.proxy.port เพื่อเปิดใช้การรับส่งข้อมูลผ่านพร็อกซี คุณอาจต้องระบุพารามิเตอร์อื่นๆ หากพร็อกซีต้องมีการตรวจสอบสิทธิ์หรือทำงานผ่านโปรโตคอล SOCKS แทน HTTP หากไม่ได้ตั้งค่า transport.proxy.hostname SDK จะไม่ใช้พร็อกซี

การเกริ่นนำ พารามิเตอร์
ชื่อโฮสต์ transport.proxy.hostname=hostname

ชื่อโฮสต์สำหรับพร็อกซีเซิร์ฟเวอร์ ต้องระบุพารามิเตอร์นี้เมื่อใช้พร็อกซี

พอร์ต transport.proxy.port=port

หมายเลขพอร์ตสำหรับพร็อกซีเซิร์ฟเวอร์ ต้องระบุพารามิเตอร์นี้เมื่อใช้พร็อกซี

ประเภทพร็อกซี transport.proxy.type=type

ประเภทของพร็อกซี ค่าที่ใช้ได้มีดังนี้

  • HTTP - พร็อกซีจะยอมรับและส่งต่อคำขอผ่าน HTTP
  • SOCKS - พร็อกซีจะยอมรับและส่งต่อแพ็กเกตผ่านโปรโตคอล SOCKS

ค่าเริ่มต้นคือ HTTP

ชื่อผู้ใช้ transport.proxy.username=username

ชื่อผู้ใช้ที่จะใช้เมื่อสร้างโทเค็นการให้สิทธิ์พร็อกซี พารามิเตอร์นี้เป็นแบบไม่บังคับและควรตั้งค่าเมื่อพร็อกซีต้องมีการตรวจสอบสิทธิ์เท่านั้น

รหัสผ่าน transport.proxy.password=password

รหัสผ่านที่จะใช้เมื่อสร้างโทเค็นการให้สิทธิ์พร็อกซี พารามิเตอร์นี้เป็นแบบไม่บังคับและควรตั้งค่าเมื่อพร็อกซีต้องมีการตรวจสอบสิทธิ์เท่านั้น

เครื่องตัดหญ้าแบบข้ามผ่าน

SDK ให้คุณระบุตัวข้ามผ่านเดี่ยวๆ เพื่ออนุญาตการข้ามผ่านแบบขนานของที่เก็บข้อมูล เครื่องมือเชื่อมต่อเทมเพลต SDK ใช้ฟีเจอร์นี้

การเกริ่นนำ พารามิเตอร์
ขนาดพูลชุดข้อความ traverse.threadPoolSize=size

จำนวนชุดข้อความที่เครื่องมือเชื่อมต่อสร้างขึ้นเพื่อให้ใช้การประมวลผลแบบคู่ขนานได้ ตัววนซ้ำตัวเดียวจะดึงการดำเนินการตามลำดับ (โดยทั่วไปคือออบเจ็กต์ RepositoryDoc) แต่ API จะประมวลผลพร้อมกันโดยใช้เทรดจำนวนนี้

ค่าเริ่มต้นคือ 5

ขนาดพาร์ติชัน traverse.partitionSize=batchSize

จำนวน ApiOperation() ที่จะประมวลผลเป็นกลุ่มก่อนดึงข้อมูล APIOperation เพิ่มเติม

ค่าเริ่มต้นคือ 50

คำขอแบบสำรวจของ Traverser

หลักของคิวการจัดทำดัชนี Cloud Search คือคิวลำดับความสำคัญที่มีรายการสำหรับแต่ละรายการที่มีอยู่ เครื่องมือเชื่อมต่อข้อมูลจะขอสำรวจรายการจาก API การจัดทำดัชนีได้ คำขอแบบสำรวจจะได้รับรายการลำดับความสำคัญสูงสุดจากคิวการจัดทำดัชนี

เทมเพลตเครื่องมือเชื่อมต่อข้อมูล SDK ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดพารามิเตอร์แบบสำรวจ

การเกริ่นนำ พารามิเตอร์
ตัวข้ามผ่านที่เก็บ repository.traversers=t1, t2, t3, ...

สร้างตัวข้ามผ่านอิสระอย่างน้อย 1 รายการโดยที่ t1, t2, t3, ... เป็นชื่อที่ไม่ซ้ำกันของแต่ละรายการ ตัวข้ามผ่านที่มีชื่อแต่ละรายการจะมีชุดการตั้งค่าของตนเองซึ่งกำหนดโดยใช้ชื่อที่ไม่ซ้ำกันของผู้ให้บริการข้ามผ่าน เช่น traversers.t1.hostload และ traversers.t2.hostload

คิวที่จะสำรวจ traverser.pollRequest.queue=mySpecialQueue

ชื่อคิวที่ผู้ตรวจสอบรายนี้สำรวจ ค่าเริ่มต้นคือสตริงว่างเปล่า (หมายความว่า "ค่าเริ่มต้น")

traverser.t1.pollRequest.queue=mySpecialQueue

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

ลักษณะแบบสำรวจ traverser.pollRequest.limit=maxItems

จำนวนรายการสูงสุดที่จะแสดงจากคำขอแบบสำรวจ ค่าเริ่มต้นคือ 0 (หมายความว่า API สูงสุด)

traverser.t1.pollRequest.limit=limit

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

สถานะรายการ traverser.pollRequest.statuses=statuses

สถานะของรายการที่ผู้ข้ามผ่านนี้สำรวจ โดย statuses สามารถเป็น MODIFIED, NEW_ITEM ผสมกันในรูปแบบใดก็ได้ (คั่นด้วยคอมมา) ค่าเริ่มต้นคือสตริงว่างเปล่า (หมายถึงค่าสถานะทั้งหมด)

traverser.t1.pollRequest.statuses=statusesForThisTraverser

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

โหลดของโฮสต์ traverser.hostload=threads

จำนวนชุดข้อความคู่ขนานที่ใช้งานอยู่สูงสุดที่ใช้ได้สำหรับการสำรวจ ค่าเริ่มต้นคือ 5.

traverser.t1.hostload=threadsForThisTraverser

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

หมดเวลา traverser.timeout=timeout

ค่าระยะหมดเวลาสำหรับขัดจังหวะความพยายามในการสำรวจแบบสำรวจนี้

ค่าเริ่มต้นคือ 60

traverser.t1.timeout=timeoutForThisTraverser

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

traverser.timeunit=timeoutUunit

หน่วยการหมดเวลา ค่าที่ถูกต้องคือ SECONDS, MINUTES,

traverser.t1.timeunit=timeoutUnit

เมื่อคุณมีผู้ใช้ข้ามผ่านหลายคน ให้ตั้งค่าสถานะของรายการสำหรับผู้ข้ามผ่านแต่ละราย (โดยที่ t1 หมายถึงตัวข้ามผ่านที่เฉพาะเจาะจง)

ในกรณีส่วนใหญ่ เครื่องมือเชื่อมต่อที่ใช้เทมเพลตเครื่องมือเชื่อมต่อข้อมูล SDK ต้องใช้พารามิเตอร์ชุดเดียวเท่านั้นสำหรับการสำรวจ ในบางกรณี คุณอาจต้องกำหนดเกณฑ์การสำรวจมากกว่า 1 เกณฑ์หากอัลกอริทึมการข้ามผ่านต้องมีการแยกการประมวลผลรายการโดยใช้คิวที่แตกต่างกัน เป็นต้น

ในกรณีนี้ คุณมีตัวเลือกในการกำหนดพารามิเตอร์แบบสำรวจหลายชุด เริ่มต้นด้วยการระบุชื่อของชุดพารามิเตอร์โดยใช้ repository.traversers สำหรับชื่อตัวข้ามผ่านที่กำหนดแต่ละรายการ ให้ส่งไฟล์การกำหนดค่าด้วยพารามิเตอร์ในตารางด้านบน โดยแทนที่ t1 ด้วยชื่อตัวข้ามผ่าน การดำเนินการนี้จะสร้างชุดพารามิเตอร์การสำรวจสำหรับตัวข้ามผ่านที่กำหนดแต่ละรายการ

จุดตรวจสอบ

จุดตรวจสอบมีประโยชน์สำหรับการติดตามสถานะของการข้ามผ่านที่เพิ่มขึ้น

การเกริ่นนำ พารามิเตอร์
ไดเรกทอรีจุดตรวจสอบ connector.checkpointDirectory=/path/to/checkpoint

ระบุเส้นทางไปยังไดเรกทอรีภายในเพื่อใช้เป็นจุดตรวจสอบการข้ามผ่านส่วนเพิ่มและเต็มรูปแบบ

การอัปโหลดเนื้อหา

ระบบจะอัปโหลดเนื้อหารายการไปยัง Cloud Search พร้อมกับรายการดังกล่าวเมื่อเนื้อหามีขนาดไม่เกินเกณฑ์ที่ระบุ หากเนื้อหามีขนาดเกินเกณฑ์ ระบบจะอัปโหลดเนื้อหาแยกจากข้อมูลเมตาและข้อมูลที่มีโครงสร้างของรายการ

การเกริ่นนำ พารามิเตอร์
เกณฑ์ของเนื้อหา api.contentUploadThresholdBytes=bytes

เกณฑ์สำหรับเนื้อหาที่ระบุว่ามีการอัปโหลดแบบ "แทรก" พร้อมกับสินค้าหรือไม่โดยใช้การอัปโหลดแยกต่างหาก

ค่าเริ่มต้นคือ 100000 (~100KB)

คอนเทนเนอร์

เทมเพลตเครื่องมือเชื่อมต่อเต็มรูปแบบใช้อัลกอริทึมที่เกี่ยวข้องกับแนวคิดของการสลับคิวแหล่งข้อมูลชั่วคราวเพื่อตรวจหาระเบียนที่ถูกลบในฐานข้อมูล ซึ่งหมายความว่าในการข้ามผ่านทั้งหมดแต่ละครั้ง ระเบียนที่ดึงข้อมูลซึ่งอยู่ในคิวใหม่จะแทนที่ระเบียน Cloud Search ที่มีอยู่ทั้งหมดที่จัดทำดัชนีจากการข้ามผ่านก่อนหน้านี้ซึ่งอยู่ในคิวเก่า

การเกริ่นนำ พารามิเตอร์
แท็กชื่อคอนเทนเนอร์ traverse.queueTag=instance

หากต้องการเรียกใช้เครื่องมือเชื่อมต่อหลายอินสแตนซ์พร้อมกันเพื่อจัดทำดัชนีที่เก็บข้อมูลทั่วไป (ไม่ว่าจะอยู่ในที่เก็บข้อมูลที่แตกต่างกันหรือแยกส่วนต่างๆ ของที่เก็บข้อมูลทั่วไป) โดยไม่รบกวนกันและกัน ให้กำหนดแท็กชื่อคอนเทนเนอร์ที่ไม่ซ้ำกันให้กับการเรียกใช้เครื่องมือเชื่อมต่อแต่ละรายการ แท็กชื่อที่ไม่ซ้ำกันจะป้องกันไม่ให้อินสแตนซ์ เครื่องมือเชื่อมต่อลบระเบียนของผู้อื่น

แท็กชื่อจะต่อท้ายรหัสคิวการเปิด/ปิดของตัวเชื่อมต่อการข้ามผ่านเต็มรูปแบบ

ปิดใช้การตรวจหาการลบ traverse.useQueues=true|false

ระบุว่าเครื่องมือเชื่อมต่อใช้ตรรกะการสลับคิวสำหรับการตรวจหาการลบหรือไม่

ค่าเริ่มต้นคือ true ซึ่งระบุว่าควรใช้คิว

หมายเหตุ: พารามิเตอร์การกำหนดค่านี้ใช้ได้กับเครื่องมือเชื่อมต่อที่ใช้เทมเพลต FullTraversalConnector เท่านั้น

นโยบายแบบกลุ่ม

SDK รองรับนโยบายแบบกลุ่มที่ช่วยให้คุณดำเนินการต่อไปนี้ได้

  • คำขอแบบกลุ่ม
  • ระบุจำนวนคำขอในคิวแบบกลุ่ม
  • จัดการการทำงานเป็นกลุ่มพร้อมกัน
  • ล้างคำขอแบบกลุ่ม

SDK จะจัดกลุ่มคำขอของเครื่องมือเชื่อมต่อเข้าด้วยกันเพื่อเร่งอัตราการส่งข้อมูลระหว่างการอัปโหลด ทริกเกอร์ SDK สำหรับการอัปโหลดกลุ่มคำขอจะขึ้นอยู่กับจำนวนคำขอหรือระยะหมดเวลา ขึ้นอยู่กับว่ากรณีใดจะเกิดขึ้นก่อน เช่น หากเวลาล่าช้าของกลุ่มหมดอายุแล้วโดยที่ไม่ถึงขนาดกลุ่ม หรือหากถึงจำนวนรายการในขนาดกลุ่มก่อนหมดเวลาหน่วงเวลาดังกล่าว ระบบจะทริกเกอร์การอัปโหลดเป็นกลุ่ม

การเกริ่นนำ พารามิเตอร์
คำขอแบบกลุ่ม batch.batchSize=batchSize

คำขอแบบกลุ่ม ค่าเริ่มต้นคือ 10

จำนวนคำขอในคิวแบบกลุ่ม batch.maxQueueLength=maxQueueLength

จำนวนคำขอสูงสุดในคิวแบบกลุ่มสำหรับการดำเนินการ ค่าเริ่มต้นคือ 1000.

กำลังดำเนินการเป็นกลุ่ม batch.maxActiveBatches=maxActiveBatches

จำนวนกลุ่มดำเนินการพร้อมกันที่อนุญาต ค่าเริ่มต้นคือ 20

ล้างคำขอแบบกลุ่มโดยอัตโนมัติ batch.maxBatchDelaySeconds=maxBatchDelay

จำนวนวินาทีที่ต้องรอก่อนที่คำขอเป็นกลุ่มจะถูกล้างโดยอัตโนมัติ ค่าเริ่มต้นคือ 5

ล้างคำขอเป็นกลุ่มเมื่อปิดเครื่อง batch.flushOnShutdown=true|false

ล้างคำขอแบบกลุ่มระหว่างปิดบริการ ค่าเริ่มต้นคือ true

เครื่องจัดการข้อยกเว้น

พารามิเตอร์ของตัวแฮนเดิลข้อยกเว้นจะกำหนดการดำเนินการของตัวข้ามผ่านหลังจากที่พบข้อยกเว้น

การเกริ่นนำ พารามิเตอร์
คำสั่ง Traverser ในกรณีที่เกิดข้อผิดพลาด traverse.exceptionHandler=exceptions

ตัวข้ามผ่านควรดำเนินการอย่างไรหลังจากมีข้อยกเว้น ค่าที่ใช้ได้มีดังนี้

  • 0--จะล้มเลิกการส่งผ่านหลังจากพบข้อยกเว้นเสมอ
  • num_exceptions (ตัวอย่างเช่น 10)--ล้มเลิกหลังจากที่ผู้ข้ามผ่านพบ num_exceptions ที่ระบุ

    ค่าเริ่มต้นคือ 0 (ยกเลิกเสมอเมื่อมีข้อผิดพลาด)

  • ignore--ไม่สนใจข้อผิดพลาด
เวลารอระหว่างข้อยกเว้น abortExceptionHander.backoffMilliSeconds=backoff

เวลาแบ็คออฟเป็นมิลลิวินาทีเพื่อรอระหว่างข้อยกเว้นของตัวแฮนเดิลที่ตรวจพบ (โดยปกติจะใช้เมื่อข้ามผ่านที่เก็บ) ค่าเริ่มต้นคือ 10