คุณสามารถตั้งค่า 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 บางรายการไม่ถูกต้อง
- เครื่องมือเชื่อมต่อระบบไฟล์รองรับเนมสเปซและลิงก์ของระบบไฟล์แบบกระจาย (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 (ซึ่งมีรหัสบัญชีบริการ) ดูข้อมูลเกี่ยวกับการรับคีย์ส่วนตัวได้ที่หัวข้อ กำหนดค่าการเข้าถึง Google Cloud Search REST API
- รหัสแหล่งข้อมูล 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
- ในไดเรกทอรีของเครื่องมือเชื่อมต่อ ให้สร้างไฟล์ที่เข้ารหัส 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) ไปยัง API การจัดทําดัชนี รวมถึง ACL ในการแชร์ไฟล์ อย่างไรก็ตาม ในการกำหนดค่าบางรายการ ตัวเชื่อมต่ออาจไม่มีสิทธิ์เพียงพอที่จะอ่าน ACL ของส่วนกลาง ในกรณีดังกล่าว ตัวเชื่อมต่อจะไม่แสดงไฟล์ที่ดูแลรักษาไว้ในการแชร์ไฟล์นั้นในผลการค้นหา
คุณสามารถตั้งค่าตัวเชื่อมต่อให้ละเว้น ACL ของการแชร์เพื่อให้ระบบแสดงเนื้อหาในผลการค้นหาเสมอ ในกรณีนี้ API การจัดทําดัชนีจะได้รับ ACL การแชร์แบบอนุญาตทั้งหมดแทนที่จะเป็น ACL การแชร์จริง
การตั้งค่า | พารามิเตอร์ |
ข้ามการควบคุมการเข้าถึงการแชร์ไฟล์ | fs.skipShareAccessControl=boolean
ตั้งค่าเป็น |