พารามิเตอร์การกำหนดค่าที่ 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 ของ Google Cloud Search API โดยพารามิเตอร์นี้ต้องอยู่ในไฟล์การกำหนดค่าทั้งหมด

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

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

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

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

URL ราก api.rootUrl=baseURLPath

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

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

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

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

การตั้งค่า พารามิเตอร์
การข้ามผ่านโดยสมบูรณ์เมื่อเริ่มต้นใช้งานเครื่องมือเชื่อมต่อ schedule.performTraversalOnStart=true|false

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

การข้ามผ่านแบบสมบูรณ์หลังช่วง schedule.traversalIntervalSecs=intervalInSeconds

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

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

เครื่องมือเชื่อมต่อจะเรียกใช้การข้ามผ่านแบบสมบูรณ์เพียงครั้งเดียว แล้วออก พารามิเตอร์นี้ควร ตั้งค่าเป็น 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 วิธีการคำนวณสถานะที่แก้ไข ความยาวสูงสุดคือ 2048 อักขระ หากไม่ได้ตั้ง hash.field เป็นค่าใดค่าหนึ่ง ค่าสำหรับ มีการใช้hash.defaultValue

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

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

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

ข้อมูลที่มีโครงสร้าง

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

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

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

ค่าเริ่มต้นคือสตริงว่างเปล่า

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

สำหรับที่เก็บที่มีระเบียนหรือเนื้อหาที่อิงตามฟิลด์ (เช่น CRM, CVS, หรือฐานข้อมูล) SDK จะอนุญาตการจัดรูปแบบ HTML โดยอัตโนมัติสำหรับช่องข้อมูล บัญชี Connector จะกำหนดฟิลด์ข้อมูลที่จุดเริ่มต้นของการดำเนินการเครื่องมือเชื่อมต่อ และ จากนั้นจึงใช้เทมเพลตเนื้อหาเพื่อจัดรูปแบบเรคคอร์ดข้อมูลแต่ละรายการก่อนอัปโหลดลงใน 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 ช่วยให้คุณสามารถระบุ Traverser เป็นรายบุคคลได้หลายคนเพื่ออนุญาตให้ การข้ามผ่านแบบขนานของที่เก็บข้อมูล เครื่องมือเชื่อมต่อเทมเพลต 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 ... คือชื่อที่ไม่ซ้ำกันของแต่ละแอตทริบิวต์ Traverser ที่มีชื่อแต่ละรายการจะมีชุดการตั้งค่าของตัวเอง ซึ่งถูกระบุโดยใช้ชื่อที่ไม่ซ้ำกันของผู้ส่ง เช่น traversers.t1.hostload และ traversers.t2.hostload

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

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

traverser.t1.pollRequest.queue=mySpecialQueue

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

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

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

traverser.t1.pollRequest.limit=limit

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

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

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

traverser.t1.pollRequest.statuses=statusesForThisTraverser

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

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

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

traverser.t1.hostload=threadsForThisTraverser

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

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

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

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

traverser.t1.timeout=timeoutForThisTraverser

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

traverser.timeunit=timeoutUunit

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

traverser.t1.timeunit=timeoutUnit

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

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

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

จุดตรวจ

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

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

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

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

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

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

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

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

คอนเทนเนอร์

เทมเพลตเครื่องมือเชื่อมต่อเต็มรูปแบบใช้อัลกอริทึมที่เกี่ยวข้องกับแนวคิดของ การเปิด/ปิดคิวแหล่งข้อมูลชั่วคราวสำหรับการตรวจหาระเบียนที่ลบไปแล้วในฐานข้อมูล ซึ่งหมายความว่าเมื่อมีการข้ามผ่านโดยสมบูรณ์แต่ละครั้ง ระเบียนที่ดึงข้อมูลซึ่งอยู่ใน ใหม่ แทนที่ระเบียน 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

ตัวจัดการข้อยกเว้น

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

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

เครื่องมือข้ามผ่านควรดำเนินการอย่างไรหลังจากมีการส่งข้อยกเว้น ค่าที่ถูกต้อง ได้แก่

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

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

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

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