ทำให้เครื่องมือเชื่อมต่อ Microsoft Windows File Systems ใช้งานได้

คุณตั้งค่า Google Cloud Search ให้แสดงผลลัพธ์จากแชร์ของ Microsoft Windows ในองค์กรได้ นอกเหนือจากเนื้อหา Google Workspace คุณใช้ ตัวเชื่อมต่อระบบไฟล์ของ Cloud Search และกำหนดค่าให้ เข้าถึงการแชร์ Windows ที่ระบุ อินสแตนซ์ตัวเชื่อมต่อเดียวรองรับ การแชร์ Microsoft Windows หลายรายการได้

สิ่งสำคัญที่ต้องคำนึงถึง

โปรดอ่านข้อควรพิจารณาต่อไปนี้ก่อนที่จะติดตั้งใช้งานตัวเชื่อมต่อระบบไฟล์

การอัปเดตอัตโนมัติอย่างต่อเนื่อง

โดยค่าเริ่มต้น เครื่องมือเชื่อมต่อจะตรวจสอบเส้นทางการเริ่มต้นอย่างต่อเนื่อง (ค่าจาก fs.src ในไฟล์กำหนดค่า) เมื่อเริ่มต้น เมื่อระบบไฟล์ รายงานการเปลี่ยนแปลงเนื้อหาหรือการควบคุมการเข้าถึง ตัวเชื่อมต่อจะทำการ Crawl ระบบไฟล์ อีกครั้ง การ Crawl อีกครั้งนี้อาจใช้ทรัพยากรมาก หากต้องการปิดการตรวจสอบ ให้ตั้งค่า fs.monitorForUpdates เป็น false ซึ่งจะช่วยลดการใช้ทรัพยากร แต่จะทำให้เกิดความล่าช้าเมื่อ ตัวเชื่อมต่อแสดงการเปลี่ยนแปลง ดูข้อมูลเพิ่มเติม

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

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

ข้อจำกัดที่ทราบ

ส่วนนี้แสดงข้อจำกัดที่ทราบของเครื่องมือเชื่อมต่อระบบไฟล์

  • ระบบไฟล์: เครื่องมือเชื่อมต่อไม่รองรับไดรฟ์ที่แมปหรือไดรฟ์ในเครื่อง
  • ระบบไฟล์แบบกระจาย: ไดรฟ์ที่แมปกับ UNC DFS ทำงานไม่ถูกต้อง และอาจอ่าน ACL บางรายการไม่ถูกต้อง
  • ตัวเชื่อมต่อรองรับเนมสเปซและลิงก์ DFS แต่ไม่รองรับโฟลเดอร์ปกติในเนมสเปซ DFS
  • ลิงก์ไฟล์ใน cloudsearch.google.com หรือที่ Query API แสดงผลจะคลิกไม่ได้ในเบราว์เซอร์ส่วนใหญ่

ข้อกำหนดของระบบ

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

ข้อกำหนดของระบบ
ระบบปฏิบัติการ
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
ซอฟต์แวร์
  • ติดตั้ง Java JRE 1.8 ในคอมพิวเตอร์ที่เรียกใช้ตัวเชื่อมต่อ
โปรโตคอลระบบไฟล์
  • Server Message Block (SMB) - SMB1
  • Server Message Block (SMB) - SMB2
  • Distributed File System (DFS)

ไม่รองรับ: ระบบไฟล์ Windows ในเครื่อง, NFS 2.0, NFS 3.0 หรือระบบไฟล์ Linux ในเครื่อง

ติดตั้งใช้งานเครื่องมือเชื่อมต่อ

ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งใช้งานตัวเชื่อมต่อระบบไฟล์

ข้อกำหนดเบื้องต้น

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

สิทธิ์ที่จำเป็นสำหรับบัญชี Microsoft Windows

บัญชี Windows ที่เรียกใช้ตัวเชื่อมต่อต้องมีสิทธิ์ต่อไปนี้

  • แสดงเนื้อหาของโฟลเดอร์
  • อ่านเนื้อหาเอกสาร
  • อ่านแอตทริบิวต์ของไฟล์และโฟลเดอร์
  • อ่านสิทธิ์ (ACL) สำหรับไฟล์และโฟลเดอร์
  • เขียนแอตทริบิวต์พื้นฐาน

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

ขั้นตอนที่ 1 ติดตั้งเครื่องมือเชื่อมต่อ

ดาวน์โหลดหรือโคลนที่เก็บเครื่องมือเชื่อมต่อจาก GitHub แล้วสร้าง แพ็กเกจเครื่องมือเชื่อมต่อ

  1. รับที่เก็บตัวเชื่อมต่อจาก GitHub แล้วสร้าง

    วิธีใช้ Git ในเซิร์ฟเวอร์ Windows

    > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
    > cd windows-filesystems-connector
    > git checkout tags/v1-0.0.3

    วิธีดาวน์โหลดโดยตรง

    1. ไปที่ windows-filesystems-connector
    2. คลิกโคลนหรือดาวน์โหลด > ดาวน์โหลด ZIP
    3. แตกไฟล์แพ็กเกจและย้ายไปยังไดเรกทอรี
  2. สร้างเครื่องมือเชื่อมต่อโดยใช้ Apache Maven ดังนี้

    > mvn package
    หากต้องการข้ามการทดสอบ ให้ใช้ mvn package -DskipTests

  3. แตกไฟล์ ZIP ของตัวเชื่อมต่อไปยังไดเรกทอรีการติดตั้ง

    > cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir
    > cd installation-dir
    > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip
    > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3

ขั้นตอนที่ 2 สร้างไฟล์การกำหนดค่า

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

  1. ในไดเรกทอรีตัวเชื่อมต่อ ให้สร้างไฟล์ชื่อ connector-config.properties
  2. เพิ่มพารามิเตอร์เป็นคู่คีย์-ค่า เช่น

    # Required parameters
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # File system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace
    
    # Optional parameters
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

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

ขั้นตอนที่ 3 เปิดใช้การบันทึก

สร้างไดเรกทอรีสำหรับบันทึกและสร้างไฟล์การกำหนดค่าการบันทึก

  1. สร้างโฟลเดอร์ชื่อ logs ในไดเรกทอรีตัวเชื่อมต่อ
  2. สร้างไฟล์ชื่อ logging.properties ที่มีเนื้อหาต่อไปนี้

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = WARNING
    com.google.enterprise.cloudsearch.level = INFO
    com.google.enterprise.cloudsearch.fs.level = INFO
    
    # uncomment line below to increase logging level to enable API trace
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-fs.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

ขั้นตอนที่ 4 (ไม่บังคับ) กำหนดค่าประเภทสื่อ

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

  1. สร้างไฟล์ชื่อ mime-type.properties ในไดเรกทอรีของตัวเชื่อมต่อ
  2. ป้อนส่วนขยายและประเภทเป็น extension=media/type ดังนี้ properties xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf

ขั้นตอนที่ 5 เรียกใช้เครื่องมือเชื่อมต่อระบบไฟล์

เปิดตัวขั้วต่อจากเครื่องโฮสต์โดยทำดังนี้

> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]

โดยค่าเริ่มต้น เครื่องมือเชื่อมต่อจะมองหาไฟล์การกำหนดค่าชื่อ connector-config.properties ในไดเรกทอรีที่เรียกใช้เครื่องมือเชื่อมต่อ หากไฟล์การกำหนดค่ามีชื่ออื่นหรืออยู่ในไดเรกทอรีอื่น ให้ใช้พารามิเตอร์ -Dconfig เพื่อระบุเส้นทาง

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

ตารางต่อไปนี้แสดงรายการและอธิบายพารามิเตอร์ที่ใช้เพื่อกำหนดค่า เครื่องมือเชื่อมต่อระบบไฟล์

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

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

ต้องระบุ รหัสแหล่งข้อมูล Cloud Search

บัญชีบริการ api.serviceAccountPrivateKeyFile=./PrivateKey.json

ต้องระบุ เส้นทางไปยังไฟล์คีย์บัญชีบริการ

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

ต้องระบุ รหัสแหล่งที่มาของข้อมูลประจำตัว Cloud Search ที่ผู้ดูแลระบบ Google Workspace ตั้งค่าไว้สำหรับการซิงค์ข้อมูลประจำตัวของ Active Directory โดยใช้ GCDS

การเข้าถึงระบบไฟล์

ใช้พารามิเตอร์เหล่านี้เพื่อระบุแหล่งที่มาของระบบไฟล์ที่จะทำการ Crawl

การตั้งค่า พารามิเตอร์
ระบบไฟล์ต้นทาง fs.src=path1[,path2, ...]

ต้องระบุ ระบุระบบไฟล์ต้นทางเป็นแหล่งที่มา UNC อย่างน้อย 1 แหล่งที่คั่นด้วยตัวคั่นที่กำหนดค่าโดย fs.src.separator หากใช้อักขระที่ไม่ได้อยู่ใน Latin1 ให้เข้ารหัสด้วย Java Unicode escapes

อักขระตัวคั่นเส้นทาง

การตั้งค่า พารามิเตอร์
อักขระตัวคั่นเส้นทาง fs.src.separator=separator-character

ตัวคั่นเริ่มต้นคือ ";" หากเส้นทางแหล่งที่มามีเครื่องหมายอัฒภาค คุณสามารถตั้งค่าตัวคั่นอื่น เช่น คอมมา (",") ที่ไม่ขัดแย้งกับอักขระในเส้นทางและไม่ได้สงวนไว้โดยไวยากรณ์ของไฟล์พร็อพเพอร์ตี้เอง

หากค่า fs.src.separator เป็นสตริงว่าง ระบบจะถือว่าค่า fs.src เป็นเส้นทางเดียว

ลักษณะการทำงานของเครื่องมือเชื่อมต่อ

ใช้พารามิเตอร์เหล่านี้เพื่อปรับวิธีที่ตัวเชื่อมต่อทำการ Crawl ระบบไฟล์

การตั้งค่า พารามิเตอร์
โดเมน Windows fs.supportedDomain=domain

ต้องระบุเพื่อให้ผู้ใช้ที่ตั้งค่าด้วย GCDS เข้าถึงเอกสารผ่าน Cloud Search ได้ ระบุเป็นชื่อโดเมน NetBIOS เดียวของ Active Directory

รวมบัญชีใน ACL fs.supportedAccounts=account-1[, account-2,...]

รายการบัญชีที่คั่นด้วยคอมมาเพื่อรวมไว้ใน ACL ไม่ว่าจะเป็นบัญชีในตัวหรือไม่ก็ตาม

ค่าเริ่มต้นคือ BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

ยกเว้นบัญชีในตัวจาก ACL fs.builtinGroupPrefix=prefix

ระบุคำนำหน้าของบัญชีในตัว บัญชีที่ขึ้นต้นด้วยคำนำหน้านี้ถือเป็นบัญชีในตัวและจะได้รับการยกเว้นจาก ACL

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

อนุญาตการจัดทำดัชนีไฟล์และโฟลเดอร์ที่ซ่อนไว้ fs.crawlHiddenFiles=boolean

ตั้งค่าเป็น true เพื่อทำการ Crawl ไฟล์ที่ซ่อนไว้ ค่าเริ่มต้นคือ false

อนุญาตการจัดทำดัชนีของรายการโฟลเดอร์ที่ทำการ Crawl และการแจงนับเนมสเปซ DFS fs.indexFolders=boolean

เมื่อตั้งค่าเป็น true (ค่าเริ่มต้น) เมื่อเครื่องมือเชื่อมต่อทำการ Crawl โฟลเดอร์ เครื่องมือเชื่อมต่อจะสร้างออบเจ็กต์ CONTAINER_ITEM เมื่อตั้งค่าเป็น false เครื่องมือเชื่อมต่อจะสร้างออบเจ็กต์ VIRTUAL_CONTAINER_ITEM แทน

เปิดใช้การตรวจสอบการเปลี่ยนแปลงระบบไฟล์ fs.monitorForUpdates=boolean

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

กำหนดขนาดสูงสุดของแคชไดเรกทอรี fs.directoryCacheSize=number-of-entries

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

ค่าเริ่มต้นคือ 50,000 รายการ ซึ่งโดยทั่วไปจะใช้ RAM 10-15 เมกะไบต์

การรักษาการประทับเวลา

ใช้พารามิเตอร์เหล่านี้เพื่อระบุวิธีที่ตัวเชื่อมต่อจัดการการรักษาการประทับเวลา

การตั้งค่า พารามิเตอร์
รักษาเวลาเข้าถึง fs.preserveLastAccessTime=value

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

โดยค่าเริ่มต้น fs.preserveLastAccessTime จะตั้งค่าเป็น ALWAYS ซึ่งหมายความว่าเครื่องมือเชื่อมต่อจะพยายามรักษาเวลาการเข้าถึงล่าสุด หากบัญชีผู้ใช้ที่เรียกใช้ตัวเชื่อมต่อไม่มีสิทธิ์เขียนแอตทริบิวต์ไฟล์ ตัวเชื่อมต่อจะกู้คืนเวลาเข้าถึงล่าสุดไม่ได้ หากตั้งค่าเป็น ALWAYS และตัวเชื่อมต่อไม่สามารถรักษาเวลาเข้าถึงล่าสุดไว้ได้ ตัวเชื่อมต่อจะปฏิเสธคำขอการ Crawl สำหรับระบบไฟล์เพื่อไม่ให้มีการเปลี่ยนแปลงการประทับเวลาของไฟล์

ค่าที่เป็นไปได้ ได้แก่

  • ALWAYS: ตัวเชื่อมต่อจะพยายามรักษาเวลาการเข้าถึงล่าสุดไว้ขณะ ทำการ Crawl ไฟล์และโฟลเดอร์ หากเก็บเวลาเข้าถึงล่าสุดไม่ได้ ระบบจะปฏิเสธคำขอการ Crawl ทั้งหมดในภายหลังสำหรับระบบไฟล์เพื่อป้องกันไม่ให้มีการเปลี่ยนแปลงการประทับเวลา
  • IF_ALLOWED: ตัวเชื่อมต่อจะพยายามรักษาเวลาการเข้าถึงล่าสุด ขณะทำการ Crawl ไฟล์และโฟลเดอร์ โดยจะทำการ Crawl ต่อไปแม้ว่าระบบอาจไม่เก็บรักษา การประทับเวลาบางรายการไว้ก็ตาม
  • NEVER: ตัวเชื่อมต่อไม่ได้พยายามรักษาเวลาการเข้าถึงล่าสุด
ทำการ Crawl เฉพาะไฟล์ที่มีการเข้าถึงหลังจากวันที่ที่กำหนด fs.lastAccessedDate=YYYY-MM-DD

ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาเข้าถึงล่าสุดอยู่หลังวันที่ที่ระบุ (รูปแบบ YYYY-MM-DD, ISO8601) ค่าเริ่มต้นคือ disabled เช่น 2010-01-01 จะทำการ Crawl เนื้อหา ที่เข้าถึงหลังจากต้นปี 2010 ใช้กับ fs.lastAccessedDays ไม่ได้

ทำการ Crawl เฉพาะไฟล์ที่เข้าถึงภายในจำนวนวันล่าสุด fs.lastAccessedDays=number-of-days

ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาเข้าถึงล่าสุดอยู่ภายในจำนวนวันที่ระบุจากปัจจุบัน เท่านั้น โดยมีค่าเริ่มต้นเป็น disabled มีประโยชน์สำหรับเนื้อหาเก่าที่กำลังจะหมดอายุ เช่น 365 จะทำการ Crawl เนื้อหาที่เข้าถึงในช่วงปีที่ผ่านมา ใช้กับ fs.lastAccessedDate ไม่ได้

ทำการ Crawl เฉพาะไฟล์ที่แก้ไขหลังจากวันที่ที่ระบุ fs.lastModifiedDate=YYYY-MM-DD

ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาที่แก้ไขล่าสุดอยู่หลังวันที่ที่ระบุ (รูปแบบ YYYY-MM-DD, ISO8601) ค่าเริ่มต้นคือ disabled เช่น 2010-01-01 จะทำการ Crawl เนื้อหา ที่แก้ไขหลังจากต้นปี 2010 ใช้กับ fs.lastModifiedDays ไม่ได้

ทำการ Crawl เฉพาะไฟล์ที่แก้ไขภายในจำนวนวันล่าสุด fs.lastModifiedDays=number-of-days

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

ข้าม ACL ของการแชร์ไฟล์

คุณตั้งค่าตัวเชื่อมต่อให้ไม่สนใจ ACL ของการแชร์ได้หากไม่มีสิทธิ์อ่าน ACL จากนั้นระบบจะแสดงเนื้อหาพร้อม ACL การแชร์แบบอนุญาต

การตั้งค่า พารามิเตอร์
ข้าม ACL ของการแชร์ fs.skipShareAccessControl=boolean

ตั้งค่าเป็น true เพื่อไม่สนใจ ACL ของการแชร์ โดยมีค่าเริ่มต้นเป็น false