คุณตั้งค่า Google Cloud Search ให้แสดงผลลัพธ์จากแชร์ของ Microsoft Windows ในองค์กรได้ นอกเหนือจากเนื้อหา Google Workspace คุณใช้ตัวเชื่อมต่อระบบไฟล์ของ Google Cloud Search และกำหนดค่าให้เข้าถึง แชร์ใน Windows ที่ระบุ อินสแตนซ์ตัวเชื่อมต่อเดียวรองรับการแชร์ใน Microsoft Windows ได้หลายรายการ
สิ่งสำคัญที่ต้องคำนึงถึง
การอัปเดตอัตโนมัติอย่างต่อเนื่อง
โดยค่าเริ่มต้น เครื่องมือเชื่อมต่อจะตรวจสอบเส้นทางการเริ่มต้นอย่างต่อเนื่อง (ค่าจาก fs.src
ในไฟล์การกำหนดค่าเครื่องมือเชื่อมต่อ) เมื่อเครื่องมือเชื่อมต่อเริ่มต้น เมื่อระบบไฟล์รายงานการเปลี่ยนแปลงเนื้อหาหรือการควบคุมการเข้าถึง ระบบจะทริกเกอร์ตัวเชื่อมต่อให้ทำการ Crawl ระบบไฟล์อีกครั้ง การ Crawl อีกครั้งนี้อาจใช้ทรัพยากรมาก หากต้องการปิดการตรวจสอบระบบไฟล์ ให้ตั้งค่า fs.monitorForUpdates
เป็น false
คุณจะลดการใช้ทรัพยากรของตัวเชื่อมต่อได้อย่างมาก แต่จะทำให้ตัวเชื่อมต่อแสดงการเปลี่ยนแปลงล่าช้า ดูข้อมูลเพิ่มเติม
การควบคุมการเข้าถึง DFS
ระบบ DFS จะใช้การควบคุมการเข้าถึงในลิงก์ และโดยปกติแล้วลิงก์ DFS แต่ละลิงก์จะมี ACL ของตัวเอง กลไกหนึ่งที่ DFS ใช้คือการแจงนับตามการเข้าถึง (ABE) ซึ่งสามารถจำกัดลิงก์ DFS ที่แสดงต่อผู้ใช้ได้ ผู้ใช้อาจได้รับเฉพาะลิงก์ DFS บางส่วน หรืออาจได้รับเพียงลิงก์เดียวเมื่อ ABE แยกไดเรกทอรีหน้าแรกที่โฮสต์ เมื่อตัวเชื่อมต่อข้ามผ่านระบบ DFS ตัวเชื่อมต่อจะใช้ ACL ของลิงก์ DFS และ ACL ของการแชร์ของเป้าหมาย และ ACL ของการแชร์จะรับค่าจาก ACL ของ DFS
ข้อจำกัดที่ทราบ
- ระบบไฟล์: ตัวเชื่อมต่อระบบไฟล์ไม่รองรับไดรฟ์ที่แมปและไดรฟ์ในเครื่อง
- ระบบไฟล์แบบกระจาย: ไดรฟ์ที่แมปกับ UNC DFS ทำงานไม่ถูกต้อง ระบบอ่าน ACL บางรายการไม่ถูกต้อง
- เครื่องมือเชื่อมต่อระบบไฟล์รองรับเนมสเปซและลิงก์ของ Distributed File System (DFS) อย่างไรก็ตาม ตัวเชื่อมต่อรองรับลิงก์ DFS เฉพาะในเนมสเปซ DFS เท่านั้น ไม่รองรับโฟลเดอร์ปกติในเนมสเปซ DFS
- ลิงก์ไฟล์ที่แสดงใน cloudsearch.google.com จะคลิกไม่ได้ นอกจากนี้ ลิงก์ไฟล์ที่ Query API แสดงผลยังคลิกไม่ได้ในเบราว์เซอร์ส่วนใหญ่ด้วย
ข้อกำหนดของระบบ
ข้อกำหนดของระบบ | |
---|---|
ระบบปฏิบัติการ |
|
ซอฟต์แวร์ |
|
โปรโตคอลระบบไฟล์ |
ไม่รองรับ: ระบบไฟล์ Windows ในเครื่อง, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 หรือระบบไฟล์ Linux ในเครื่อง |
ติดตั้งใช้งานเครื่องมือเชื่อมต่อ
ข้อกำหนดเบื้องต้น
ก่อนที่จะติดตั้งใช้งานตัวเชื่อมต่อระบบไฟล์ของ Cloud Search โปรดตรวจสอบว่าสภาพแวดล้อมมีคอมโพเนนต์ที่จำเป็นเบื้องต้นทั้งหมดต่อไปนี้
ข้อมูล Google Workspace ที่จำเป็นต่อการสร้างความสัมพันธ์ระหว่าง Google Cloud Search กับแหล่งข้อมูล
- คีย์ส่วนตัวของ Google Workspace (ซึ่งมีรหัสบัญชีบริการ) ดูข้อมูลเกี่ยวกับการขอรับคีย์ส่วนตัวได้ที่ กำหนดค่าการเข้าถึง REST API ของ Google Cloud Search
- รหัสแหล่งข้อมูล Google Workspace ดูข้อมูลเกี่ยวกับการขอรับรหัสแหล่งข้อมูลได้ที่ เพิ่มแหล่งข้อมูลเพื่อค้นหา
- รหัสแหล่งที่มาของข้อมูลประจำตัว ดูข้อมูลเกี่ยวกับวิธีรับรหัสแหล่งที่มาของข้อมูลประจำตัวได้ที่หัวข้อสร้างแหล่งที่มาของข้อมูลประจำตัว หากซิงค์ไดเรกทอรี Google Workspace กับ Active Directory ให้ตั้งค่าแหล่งข้อมูลประจำตัวด้วย GCDS
โดยปกติแล้วผู้ดูแลระบบ Google Workspace ขององค์กรจะให้ข้อมูลเข้าสู่ระบบเหล่านี้แก่คุณได้
ตรวจสอบว่าบัญชี Windows มีสิทธิ์เพียงพอตามที่อธิบายไว้ในส่วนต่อไปนี้
สิทธิ์ที่จำเป็นสำหรับบัญชี Microsoft Windows
บัญชี Microsoft Windows ที่ตัวเชื่อมต่อทำงานอยู่ต้องมีสิทธิ์เพียงพอในการดำเนินการต่อไปนี้
- แสดงเนื้อหาของโฟลเดอร์
- อ่านเนื้อหาของเอกสาร
- อ่านแอตทริบิวต์ของไฟล์และโฟลเดอร์
- สิทธิ์ในการอ่าน (ACL) สำหรับทั้งไฟล์และโฟลเดอร์
- สิทธิ์เขียนแอตทริบิวต์พื้นฐาน
การเป็นสมาชิกกลุ่มใดกลุ่มหนึ่งต่อไปนี้จะให้สิทธิ์ที่เพียงพอแก่บัญชี Windows ซึ่งตัวเชื่อมต่อจำเป็นต้องใช้
- ผู้ดูแลระบบ
- ผู้ใช้ขั้นสูง
- ผู้ปฏิบัติงานด้านการพิมพ์
- ผู้ปฏิบัติงานเซิร์ฟเวอร์
ขั้นตอนที่ 1 ติดตั้งเครื่องมือเชื่อมต่อระบบไฟล์ของ Google Cloud Search
รับที่เก็บตัวเชื่อมต่อจาก 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
วิธีดาวน์โหลดจาก GitHub โดยตรง
- ไปที่ https://github.com/google-cloudsearch/windows-filesystems-connector
- คลิกโคลนหรือดาวน์โหลด ดาวน์โหลด ZIP
- คลายซิปแพ็กเกจ
- ย้ายไปยังไดเรกทอรีใหม่
> cd windows-filesystems-connector
สร้างเครื่องมือเชื่อมต่อ หากจำเป็น ให้ติดตั้ง Apache Maven
> mvn package
หากต้องการข้ามการทดสอบเมื่อสร้างตัวเชื่อมต่อ ให้เรียกใช้
mvn package -DskipTests
แทนmvn package
คัดลอกไฟล์ 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 สร้างไฟล์การกำหนดค่าเครื่องมือเชื่อมต่อ
สร้างไฟล์ในไดเรกทอรีเดียวกับการติดตั้งตัวเชื่อมต่อ แล้วตั้งชื่อไฟล์เป็น
connector-config.properties
เพิ่มพารามิเตอร์เป็นคู่คีย์/ค่าลงในเนื้อหาของไฟล์ ดังตัวอย่างต่อไปนี้
### File system connector configuration ### # Required parameters for Cloud Search data source and identity source access api.serviceAccountPrivateKeyFile=/path/to/file.json api.sourceId=0123456789abcde api.identitySourceId=a1b1c1234567 # Required parameters for file system access fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link # Optional parameters for file system monitoring traverse.abortAfterExceptions=500 fs.monitorForUpdates = true fs.preserveLastAccessTime = IF_ALLOWED
ดูคำอธิบายโดยละเอียดของพารามิเตอร์แต่ละรายการได้ที่ ข้อมูลอ้างอิงของพารามิเตอร์การกำหนดค่า
(ไม่บังคับ) กำหนดค่าพารามิเตอร์ตัวเชื่อมต่ออื่นๆ ตามต้องการ โปรดดูรายละเอียดที่ พารามิเตอร์ของตัวเชื่อมต่อที่ Google จัดหาให้
ขั้นตอนที่ 3 เปิดใช้การบันทึก
- สร้างโฟลเดอร์ชื่อ
logs
ในไดเรกทอรีที่มีไบนารีของตัวเชื่อมต่อ สร้างไฟล์ ASCII หรือ UTF-8 ชื่อ
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 (ไม่บังคับ) กำหนดค่าประเภทสื่อ
โดยค่าเริ่มต้น เครื่องมือเชื่อมต่อจะพยายามตรวจหาประเภทสื่อสำหรับแต่ละไฟล์ด้วยการตรวจหาประเภทสื่อที่ JDK มีให้ ใน Microsoft Windows นั้น JDK จะอาศัยรีจิสทรีของ Windows เพื่อ กำหนดประเภทสื่อสำหรับไฟล์ หากไม่มีรายการรีจิสทรี ระบบอาจแสดงประเภทสื่อเป็น Null สำหรับไฟล์บางไฟล์
หากจำเป็น คุณสามารถระบุประเภทสื่อที่จะเขียนทับการเชื่อมโยงที่มีอยู่หรือป้องกันไม่ให้ประเภทสื่อเป็น Null ได้
- สร้างไฟล์ที่เข้ารหัส Latin-1 ชื่อ
mime-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
)
ข้อมูลอ้างอิงพารามิเตอร์การกําหนดค่า
การเข้าถึงแหล่งข้อมูล
การตั้งค่า | พารามิเตอร์ |
รหัสแหล่งข้อมูล | api.sourceId=1234567890abcdef
ต้องระบุ รหัสแหล่งข้อมูล Google Cloud Search ที่ผู้ดูแลระบบ Google Workspace ตั้งค่าไว้ |
เส้นทางไปยังไฟล์คีย์ส่วนตัวของบัญชีบริการ | api.serviceAccountPrivateKeyFile=./PrivateKey.json
ต้องระบุ ไฟล์คีย์บัญชีบริการ Google Cloud Search เพื่อให้ตัวเชื่อมต่อระบบไฟล์ของ Google Cloud Search เข้าถึงได้ |
รหัสแหล่งที่มาของข้อมูลประจำตัว | api.identitySourceId=x0987654321
ต้องระบุ รหัสแหล่งที่มาของข้อมูลประจำตัว Cloud Search ที่ผู้ดูแลระบบ Google Workspace ตั้งค่าไว้สำหรับการซิงค์ข้อมูลประจำตัวของ Active Directory โดยใช้ GCDS |
การเข้าถึงระบบไฟล์
การตั้งค่า | พารามิเตอร์ |
ระบบไฟล์ต้นทาง | fs.src=path1[,path2, ...]
ต้องระบุ ระบุระบบไฟล์ต้นทางเป็นแหล่งที่มา UNC อย่างน้อย 1 แหล่งที่คั่นด้วยตัวคั่นที่กำหนดค่าโดย |
อักขระตัวคั่นเส้นทาง
การตั้งค่า | พารามิเตอร์ |
อักขระตัวคั่นเส้นทาง | fs.src.separator=separator-character
ตัวคั่นเริ่มต้นคือ ";" หากเส้นทางแหล่งที่มามีเครื่องหมายอัฒภาค คุณสามารถตั้งค่าตัวคั่นอื่น เช่น คอมมา (",") ที่ไม่ขัดแย้งกับอักขระในเส้นทางและไม่ได้สงวนไว้โดยไวยากรณ์ไฟล์พร็อพเพอร์ตี้เอง หากค่า |
ลักษณะการทำงานของเครื่องมือเชื่อมต่อ
การตั้งค่า | พารามิเตอร์ |
โดเมน Windows | fs.supportedDomain=domain
ต้องใช้เพื่อให้ผู้ใช้ที่ตั้งค่าด้วย GCDS เข้าถึงเอกสารผ่าน Cloud Search ได้ ระบุเป็นชื่อโดเมน NetBIOS เดียวของ Active Directory |
รวมบัญชีไว้ใน ACL | fs.supportedAccounts=account-1[, account-2,...]
รายการบัญชีที่คั่นด้วยคอมมาเพื่อรวมไว้ใน ACL ไม่ว่าจะเป็นบัญชีในตัวหรือไม่ก็ตาม ค่าเริ่มต้นคือ |
ยกเว้นบัญชีในตัวจาก ACL | fs.builtinGroupPrefix=prefix
ระบุคำนำหน้าของบัญชีในตัว บัญชีที่ขึ้นต้นด้วยคำนำหน้านี้ถือเป็นบัญชีในตัวและจะได้รับการยกเว้นจาก ACL ค่าเริ่มต้นคือ |
อนุญาตการจัดทำดัชนีของไฟล์และโฟลเดอร์ที่ซ่อนอยู่ | fs.crawlHiddenFiles=boolean
ตั้งค่าเป็น |
อนุญาตการจัดทำดัชนีของรายการโฟลเดอร์ที่ทำการ Crawl และการแจงนับเนมสเปซ DFS | fs.indexFolders=boolean
เมื่อตั้งค่าเป็น |
เปิดใช้การตรวจสอบการเปลี่ยนแปลงระบบไฟล์ | fs.monitorForUpdates=boolean
เมื่อตั้งค่าเป็น |
กำหนดขนาดสูงสุดของแคชไดเรกทอรี | fs.directoryCacheSize=number-of-entries
ขนาดสูงสุดของแคชไดเรกทอรี ตัวเชื่อมต่อใช้แคชเพื่อระบุโฟลเดอร์ที่ซ่อนไว้เพื่อหลีกเลี่ยงการจัดทำดัชนีไฟล์และโฟลเดอร์ในโฟลเดอร์ที่ซ่อนไว้ ค่าเริ่มต้นคือ 50,000 รายการ ซึ่งโดยปกติจะใช้ RAM 10-15 เมกะไบต์ |
การรักษาการประทับเวลาและการควบคุมการ Crawl
การตั้งค่า | พารามิเตอร์ |
เก็บรักษาการประทับเวลาการเข้าถึงล่าสุด | fs.preserveLastAccessTime=value
เมื่อตัวเชื่อมต่อทำการ Crawl ไฟล์และโฟลเดอร์ ตัวเชื่อมต่อจะเปลี่ยนการประทับเวลาการเข้าถึงล่าสุดของไฟล์และโฟลเดอร์เป็นเวลาที่ทำการ Crawl ได้ เมื่อไม่ได้เก็บเวลาที่เข้าถึงล่าสุดไว้ ระบบสำรองข้อมูลและระบบเก็บถาวรอาจไม่ย้ายไฟล์และโฟลเดอร์ที่เหมาะสมไปยังพื้นที่เก็บข้อมูลรองเนื่องจากการเข้าชมของตัวเชื่อมต่อ โดยค่าเริ่มต้น ตัวเชื่อมต่อจะพยายามรักษาเวลาการเข้าถึงล่าสุด ( ค่าที่เป็นไปได้มีดังนี้
|
ทำการ Crawl เฉพาะไฟล์ที่มีการเข้าถึงหลังจากวันที่ที่ระบุ | fs.lastAccessedDate=YYYY-MM-DD
ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาเข้าถึงครั้งล่าสุดอยู่หลังวันที่ที่ระบุ ค่าเริ่มต้นคือ ระบุวันที่ในรูปแบบวันที่ ISO8601: YYYY-MM-DD เช่น หากค่าเป็น 2010-01-01 ตัวเชื่อมต่อจะทำการ Crawl เฉพาะเนื้อหาที่เข้าถึงหลังจากต้นปี 2010 หากระบุ |
ทำการ Crawl เฉพาะไฟล์ที่เข้าถึงภายในจำนวนวันล่าสุด | fs.lastAccessedDays=number-of-days
ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาเข้าถึงล่าสุดอยู่ภายในจำนวนวันก่อนปัจจุบัน ค่าเริ่มต้นคือ ใช้พร็อพเพอร์ตี้นี้เพื่อทำให้เนื้อหาที่จัดทำดัชนีไว้ก่อนหน้านี้ซึ่งไม่มีการเข้าถึงมาระยะหนึ่งหมดอายุ เช่น ตั้งค่าเป็น 365 เพื่อทำการ Crawl เนื้อหาเฉพาะในกรณีที่มีการเข้าถึงเนื้อหาดังกล่าวในปีที่ผ่านมา หากระบุ |
ทำการ Crawl เฉพาะไฟล์ที่แก้ไขหลังจากวันที่ที่ระบุ | fs.lastModifiedDate=YYYY-MM-DD
ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาแก้ไขครั้งล่าสุดอยู่หลังวันที่ที่ระบุ ค่าเริ่มต้นคือ ระบุวันที่ในรูปแบบวันที่ ISO8601: YYYY-MM-DD เช่น หากค่าเป็น 2010-01-01 ตัวเชื่อมต่อจะทำการ Crawl เฉพาะเนื้อหาที่แก้ไขหลังจากต้นปี 2010 หากระบุ |
ทำการ Crawl เฉพาะไฟล์ที่แก้ไขภายในจำนวนวันล่าสุด | fs.lastModifiedDays=number-of-days
ทำการ Crawl เนื้อหาเฉพาะในกรณีที่เวลาแก้ไขล่าสุดอยู่ภายในจำนวนวันก่อนปัจจุบัน ค่าเริ่มต้นคือ ใช้พร็อพเพอร์ตี้นี้เพื่อทำให้เนื้อหาที่จัดทำดัชนีไว้ก่อนหน้านี้ซึ่งไม่ได้แก้ไขมาระยะหนึ่งหมดอายุ เช่น ตั้งค่าเป็น 365 เพื่อทำการ Crawl เนื้อหาเฉพาะในกรณีที่มีการแก้ไขเนื้อหาในช่วงปีที่ผ่านมา หากระบุ |
ข้ามการควบคุมการเข้าถึงการแชร์ไฟล์
โดยค่าเริ่มต้น เครื่องมือเชื่อมต่อจะรักษาความสมบูรณ์ของการควบคุมการเข้าถึงเมื่อส่งรายการควบคุมการเข้าถึง (ACL) ไปยัง Indexing API ซึ่งรวมถึง ACL ในการแชร์ไฟล์ อย่างไรก็ตาม ในการกำหนดค่าบางอย่าง ตัวเชื่อมต่ออาจมีสิทธิ์ไม่เพียงพอที่จะอ่าน ACL ของการแชร์ ในกรณีดังกล่าว ตัวเชื่อมต่อจะไม่แสดงไฟล์ใดๆ ที่จัดเก็บไว้ในที่แชร์ไฟล์นั้นในผลการค้นหา
คุณตั้งค่าเครื่องมือเชื่อมต่อให้ไม่สนใจ ACL การแชร์ได้เพื่อให้ระบบแสดงเนื้อหาในผลการค้นหาเสมอ ในกรณีนี้ Indexing API จะได้รับ ACL การแชร์ที่อนุญาตอย่างสมบูรณ์แทนที่จะเป็น ACL การแชร์จริง
การตั้งค่า | พารามิเตอร์ |
ข้ามการควบคุมการเข้าถึงการแชร์ไฟล์ | fs.skipShareAccessControl=boolean
ตั้งค่าเป็น |