คู่มือนี้มีไว้สำหรับผู้ดูแลระบบตัวเชื่อมต่อ CSV (ค่าที่คั่นด้วยคอมมา) ของ Google Cloud Search ซึ่งก็คือทุกคนที่มีหน้าที่รับผิดชอบในการดาวน์โหลด กำหนดค่า เรียกใช้ และตรวจสอบตัวเชื่อมต่อ
คู่มือนี้มีวิธีการสำหรับงานสำคัญที่เกี่ยวข้องกับการติดตั้งใช้งานตัวเชื่อมต่อ CSV ดังนี้
- ดาวน์โหลดซอฟต์แวร์เครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search
- กำหนดค่าเครื่องมือเชื่อมต่อเพื่อใช้กับแหล่งข้อมูล CSV ที่เฉพาะเจาะจง
- ติดตั้งใช้งานและเรียกใช้เครื่องมือเชื่อมต่อ
หากต้องการทำความเข้าใจแนวคิดในเอกสารนี้ คุณควรคุ้นเคยกับ พื้นฐานของ Google Workspace, ไฟล์ CSV และรายการควบคุมการเข้าถึง (ACL)
ภาพรวมของเครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search
ตัวเชื่อมต่อ CSV ของ Cloud Search ทำงานร่วมกับไฟล์ข้อความค่าที่คั่นด้วยคอมมา (CSV) ได้ ไฟล์ CSV จะจัดเก็บข้อมูลแบบตาราง และแต่ละบรรทัดในไฟล์คือระเบียนข้อมูล
ตัวเชื่อมต่อ CSV ของ Google Cloud Search จะดึงข้อมูลแถวแต่ละแถวจากไฟล์ CSV และ จัดทำดัชนีลงใน Cloud Search ผ่าน Indexing API ของ Cloud Search เมื่อจัดทำดัชนีสำเร็จแล้ว คุณจะค้นหาแถวแต่ละแถวจากไฟล์ CSV ได้ผ่านไคลเอ็นต์ของ Cloud Search หรือ Query API ของ Cloud Search นอกจากนี้ ตัวเชื่อมต่อ CSV ยัง รองรับการควบคุมสิทธิ์เข้าถึงเนื้อหาของผู้ใช้ในผลการค้นหาโดยใช้ ACL ด้วย
คุณติดตั้งเครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search ได้ใน Linux หรือ Windows ก่อน ที่จะติดตั้งใช้งานตัวเชื่อมต่อ CSV ของ Google Cloud Search โปรดตรวจสอบว่าคุณมี คอมโพเนนต์ที่จำเป็นต่อไปนี้
- ติดตั้ง Java JRE 1.8 ในคอมพิวเตอร์ที่เรียกใช้เครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search
ข้อมูล Google Workspace ที่จำเป็นต่อการสร้างความสัมพันธ์ระหว่าง Google Cloud Search กับแหล่งข้อมูล
- คีย์ส่วนตัวของ Google Workspace (ซึ่งมีรหัสบัญชีบริการ)
- รหัสแหล่งข้อมูล Google Workspace
โดยปกติแล้ว ผู้ดูแลระบบ Google Workspace ของโดเมนจะให้ข้อมูลเข้าสู่ระบบเหล่านี้แก่คุณได้
ขั้นตอนการติดตั้งใช้งาน
หากต้องการติดตั้งใช้งานตัวเชื่อมต่อ CSV ของ Google Cloud Search ให้ทำตามขั้นตอนต่อไปนี้
- ติดตั้งซอฟต์แวร์ตัวเชื่อมต่อ CSV ของ Google Cloud Search
- ระบุการกำหนดค่าตัวเชื่อมต่อ CSV
- กำหนดค่าการเข้าถึงแหล่งข้อมูล Google Cloud Search
- กำหนดค่าการเข้าถึงไฟล์ CSV
- ระบุชื่อคอลัมน์ที่จะจัดทำดัชนี คอลัมน์คีย์ที่ไม่ซ้ำกัน และคอลัมน์วันที่และเวลา
- ระบุคอลัมน์ที่จะใช้ใน URL ของผลการค้นหาที่คลิกได้
- ระบุข้อมูลเมตา รูปแบบคอลัมน์
- กำหนดเวลาการไปยังส่วนต่างๆ ของข้อมูล
- ระบุตัวเลือกรายการควบคุมการเข้าถึง (ACL)
1. ติดตั้ง SDK
ติดตั้ง SDK ลงในที่เก็บ Maven ในเครื่อง
โคลนที่เก็บ SDK จาก GitHub
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk/csv
ดู SDK เวอร์ชันที่ต้องการ
$ git checkout tags/v1-0.0.3
สร้างเครื่องมือเชื่อมต่อ
$ mvn package
คัดลอกไฟล์ ZIP ของตัวเชื่อมต่อไปยังไดเรกทอรีการติดตั้งในเครื่อง
$ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip $ cd google-cloudsearch-csv-connector-v1-0.0.3
2. ระบุการกำหนดค่าเครื่องมือเชื่อมต่อ CSV
ในฐานะผู้ดูแลระบบเครื่องมือเชื่อมต่อ คุณจะควบคุมลักษณะการทำงานของเครื่องมือเชื่อมต่อ CSV และ แอตทริบิวต์ที่กำหนดพารามิเตอร์ในไฟล์กำหนดค่าของเครื่องมือเชื่อมต่อได้ พารามิเตอร์ที่กำหนดค่าได้มีดังนี้
- สิทธิ์เข้าถึงแหล่งข้อมูล
- ตำแหน่งของไฟล์ CSV
- คำจำกัดความของคอลัมน์ CSV
- คอลัมน์ที่กำหนดรหัสที่ไม่ซ้ำกัน
- ตัวเลือกการข้าม
- ตัวเลือก ACL เพื่อจำกัดการเข้าถึงข้อมูล
หากต้องการให้ตัวเชื่อมต่อเข้าถึงไฟล์ CSV และจัดทำดัชนีเนื้อหาที่เกี่ยวข้องได้อย่างถูกต้อง คุณต้องสร้างไฟล์การกำหนดค่าก่อน
วิธีสร้างไฟล์การกำหนดค่า
- เปิดเครื่องมือแก้ไขข้อความที่คุณต้องการ แล้วตั้งชื่อไฟล์การกำหนดค่า
เพิ่มคู่คีย์=ค่าลงในเนื้อหาของไฟล์ตามที่อธิบายไว้ในส่วนต่อไปนี้ - บันทึกและตั้งชื่อไฟล์การกำหนดค่า
Google ขอแนะนำให้คุณตั้งชื่อไฟล์การกำหนดค่าconnector-config.properties
เพื่อไม่ให้ต้องใช้พารามิเตอร์บรรทัดคำสั่งเพิ่มเติม ในการเรียกใช้เครื่องมือเชื่อมต่อ
เนื่องจากคุณระบุเส้นทางไฟล์การกำหนดค่าในบรรทัดคำสั่งได้ จึงไม่จำเป็นต้องมีตำแหน่งไฟล์มาตรฐาน อย่างไรก็ตาม ให้เก็บไฟล์การกำหนดค่าไว้ในไดเรกทอรีเดียวกับตัวเชื่อมต่อเพื่อลดความซับซ้อนในการติดตามและเรียกใช้ตัวเชื่อมต่อ
ระบุเส้นทางของไฟล์การกำหนดค่าในบรรทัดคำสั่งเพื่อให้เครื่องมือเชื่อมต่อรู้จักไฟล์ ไม่เช่นนั้น เครื่องมือเชื่อมต่อจะใช้
connector-config.properties
ในไดเรกทอรีภายในเป็น
ชื่อไฟล์เริ่มต้น ดูข้อมูลเกี่ยวกับการระบุเส้นทางการกำหนดค่าในบรรทัดคำสั่งได้ที่หัวข้อเรียกใช้เครื่องมือเชื่อมต่อ CSV ของ Cloud Search
3. กำหนดค่าการเข้าถึงแหล่งข้อมูล Google Cloud Search
พารามิเตอร์แรกที่ไฟล์กำหนดค่าทุกไฟล์ต้องระบุคือพารามิเตอร์ที่จำเป็นต่อการเข้าถึงแหล่งข้อมูล Cloud Search ดังที่แสดงในตารางต่อไปนี้ โดยปกติแล้ว คุณจะต้องใช้รหัสแหล่งข้อมูล รหัสบัญชีบริการ และเส้นทางไปยังไฟล์คีย์ส่วนตัวของบัญชีบริการเพื่อกำหนดค่าการเข้าถึง Cloud Search ของตัวเชื่อมต่อ ขั้นตอนที่จำเป็นในการตั้งค่าแหล่งข้อมูล อธิบายไว้ใน จัดการแหล่งข้อมูลของบุคคลที่สาม
การตั้งค่า | พารามิเตอร์ |
รหัสแหล่งข้อมูล | api.sourceId=1234567890abcdef
ต้องระบุ รหัสแหล่งที่มาของ Google Cloud Search ที่ผู้ดูแลระบบ Google Workspace ตั้งค่าไว้ตามที่อธิบายไว้ในจัดการแหล่งข้อมูลของบุคคลที่สาม |
เส้นทางไปยังไฟล์คีย์ส่วนตัวของบัญชีบริการ | api.serviceAccountPrivateKeyFile=./PrivateKey.json
ต้องระบุ ไฟล์คีย์บัญชีบริการ Google Cloud Search เพื่อการเข้าถึงตัวเชื่อมต่อ CSV ของ Google Cloud Search |
รหัสแหล่งที่มาของข้อมูลประจำตัว | api.identitySourceId=x0987654321
ต้องระบุหากใช้ผู้ใช้และกลุ่มภายนอก รหัสแหล่งที่มาของข้อมูลประจำตัว Google Cloud Search ที่ผู้ดูแลระบบ Google Workspace ตั้งค่าไว้ |
4. กำหนดค่าพารามิเตอร์ไฟล์ CSV
ก่อนที่ตัวเชื่อมต่อจะไปยังไฟล์ CSV และดึงข้อมูลจากไฟล์เพื่อจัดทำดัชนีได้ คุณต้องระบุเส้นทางไปยังไฟล์ นอกจากนี้ คุณยังระบุรูปแบบไฟล์และประเภทการเข้ารหัสไฟล์ได้ด้วย เพิ่มพารามิเตอร์ต่อไปนี้เพื่อระบุพร็อพเพอร์ตี้ไฟล์ CSV ในไฟล์การกำหนดค่า
การตั้งค่า | พารามิเตอร์ |
เส้นทางไปยังไฟล์ CSV | csv.filePath=./movie_content.csv
ต้องระบุ เส้นทางไปยังไฟล์ CSV ที่จะเข้าถึงและดึงเนื้อหาเพื่อจัดทำดัชนี |
รูปแบบไฟล์ | csv.format=DEFAULT
รูปแบบของไฟล์ ค่าที่เป็นไปได้มาจากคลาส CSVFormat ของ Apache Commons CSV ค่ารูปแบบ ได้แก่ |
ตัวแก้ไขรูปแบบไฟล์ | csv.format.withMethod=value
การแก้ไขวิธีที่ Cloud Search จัดการไฟล์ วิธีการที่เป็นไปได้มาจากคลาส CSVFormat ของ Apache Commons CSV และรวมถึงวิธีการที่ใช้ค่าอักขระ สตริง หรือบูลีนเดียว เช่น หากต้องการระบุเครื่องหมายอัฒภาคเป็นตัวคั่น ให้ใช้ |
ประเภทการเข้ารหัสไฟล์ | csv.fileEncoding=UTF-8
ชุดอักขระ Java ที่จะใช้เมื่อ Cloud Search อ่านไฟล์ หากไม่ได้ระบุ Cloud Search จะใช้ชุดอักขระเริ่มต้นของแพลตฟอร์ม |
5. ระบุชื่อคอลัมน์ที่จะจัดทำดัชนีและคอลัมน์คีย์ที่ไม่ซ้ำกัน
หากต้องการให้ตัวเชื่อมต่อเข้าถึงและจัดทำดัชนีไฟล์ CSV คุณต้องระบุ ข้อมูลเกี่ยวกับการกำหนดคอลัมน์ในไฟล์การกำหนดค่า หาก ไฟล์กําหนดค่าไม่มีพารามิเตอร์ที่ระบุชื่อคอลัมน์ ที่จะจัดทําดัชนีและคอลัมน์คีย์ที่ไม่ซ้ำ ระบบจะใช้ค่าเริ่มต้น
การตั้งค่า | พารามิเตอร์ |
คอลัมน์ที่จะทำดัชนี | csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...
ชื่อคอลัมน์ที่จะจัดทำดัชนีจากไฟล์ CSV หากไม่ได้ตั้งค่า |
คอลัมน์คีย์ที่ไม่ซ้ำกัน | csv.uniqueKeyColumns=movieId
คอลัมน์ CSV ที่จะใช้ค่าในการสร้างรหัสที่ไม่ซ้ำกันของแต่ละระเบียน หากไม่ได้ระบุไว้ ควรใช้แฮชของระเบียน CSV เป็นคีย์ที่ไม่ซ้ำกัน ค่าเริ่มต้นคือแฮชโค้ดของระเบียน |
6. ระบุคอลัมน์ที่จะใช้ใน URL ของผลการค้นหาที่คลิกได้
เมื่อผู้ใช้ค้นหาโดยใช้ Google Cloud Search ระบบจะตอบสนองด้วยการแสดงหน้าผลการค้นหา ซึ่งมี URL ที่คลิกได้สำหรับผลการค้นหาแต่ละรายการ หากต้องการเปิดใช้ฟีเจอร์นี้ คุณ ต้องเพิ่มพารามิเตอร์ที่แสดงในตารางต่อไปนี้ลงในไฟล์การกำหนดค่า
การตั้งค่า | พารามิเตอร์ |
รูปแบบ URL ของผลการค้นหา | url.format=https://mymoviesite.com/movies/{0}
ต้องระบุ รูปแบบในการสร้าง URL การดูสำหรับเนื้อหา CSV |
พารามิเตอร์ของ URL ของผลการค้นหา | url.columns=movieId
ต้องระบุ ชื่อคอลัมน์ CSV ที่จะใช้ค่าเพื่อสร้าง URL ของมุมมองระเบียน |
พารามิเตอร์ URL ของผลการค้นหาที่จะหลีกเลี่ยง | url.columnsToEscape=movieId
ไม่บังคับ ชื่อคอลัมน์ CSV ที่จะมีการหลบ URL เพื่อสร้าง URL ของมุมมองที่ถูกต้อง |
7. ระบุข้อมูลเมตา รูปแบบคอลัมน์ คุณภาพการค้นหา
คุณเพิ่มพารามิเตอร์ลงในไฟล์การกำหนดค่าที่ระบุสิ่งต่อไปนี้ได้
พารามิเตอร์การกำหนดค่าข้อมูลเมตา
พารามิเตอร์การกำหนดค่าข้อมูลเมตาอธิบายคอลัมน์ CSV ที่ใช้ในการสร้างข้อมูลเมตาของสินค้า หากไฟล์กําหนดค่าไม่มีพารามิเตอร์เหล่านี้ ระบบจะใช้ค่าเริ่มต้น ตารางต่อไปนี้แสดงพารามิเตอร์เหล่านี้
การตั้งค่า | พารามิเตอร์ |
ชื่อ | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
แอตทริบิวต์ข้อมูลเมตาที่มีค่าที่สอดคล้องกับชื่อเอกสาร ค่าเริ่มต้นคือสตริงว่างเปล่า |
URL | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
แอตทริบิวต์ข้อมูลเมตาที่มีค่าสำหรับ URL ของเอกสารสำหรับผลการค้นหา |
การประทับเวลาที่สร้าง | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
แอตทริบิวต์ข้อมูลเมตาที่มีค่าสำหรับการประทับเวลาการสร้างเอกสาร |
เวลาที่แก้ไขล่าสุด | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
แอตทริบิวต์ข้อมูลเมตาที่มีค่าสำหรับการประทับเวลาการแก้ไขล่าสุดของเอกสาร |
ภาษาของเอกสาร | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
ภาษาของเนื้อหาสำหรับเอกสารที่กำลังจัดทำดัชนี |
ประเภทออบเจ็กต์สคีมา | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=movie
ประเภทออบเจ็กต์ที่ตัวเชื่อมต่อใช้ตามที่กำหนดไว้ใน schema เครื่องมือเชื่อมต่อจะไม่จัดทำดัชนี Structured Data หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ |
รูปแบบเวลาและวันที่
รูปแบบวันที่และเวลาจะระบุรูปแบบที่คาดไว้ในแอตทริบิวต์ข้อมูลเมตา หากไฟล์กําหนดค่าไม่มีพารามิเตอร์นี้ ระบบจะใช้ค่าเริ่มต้น ตารางต่อไปนี้แสดงพารามิเตอร์นี้
การตั้งค่า | พารามิเตอร์ |
รูปแบบวันที่และเวลาเพิ่มเติม | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
รายการรูปแบบ java.time.format.DateTimeFormatter เพิ่มเติมที่คั่นด้วยเครื่องหมายอัฒภาค ระบบจะใช้รูปแบบเมื่อแยกวิเคราะห์ค่าสตริงสำหรับฟิลด์วันที่หรือวันที่และเวลาในข้อมูลเมตาหรือสคีมา ค่าเริ่มต้นคือรายการว่าง แต่ระบบจะรองรับรูปแบบ RFC 3339 และ RFC 1123 เสมอ |
รูปแบบคอลัมน์
รูปแบบคอลัมน์จะระบุข้อมูลเกี่ยวกับคอลัมน์ที่ควรเป็นส่วนหนึ่งของเนื้อหาที่ค้นหาได้ หากไฟล์กำหนดค่าไม่มีพารามิเตอร์เหล่านี้ ระบบจะใช้ค่าเริ่มต้น ตารางต่อไปนี้แสดงพารามิเตอร์เหล่านี้
การตั้งค่า | พารามิเตอร์ |
ข้ามส่วนหัว | csv.skipHeaderRecord=true
บูลีน ไม่สนใจระเบียนส่วนหัว (บรรทัดแรก) ในไฟล์ CSV หากคุณตั้งค่า |
คอลัมน์ที่มีหลายค่า | csv.multiValueColumns=genre,actors
ชื่อคอลัมน์ในไฟล์ CSV ที่มีหลายค่า ค่าเริ่มต้นคือสตริงว่างเปล่า |
ตัวคั่นสำหรับคอลัมน์ที่มีหลายค่า | csv.multiValue.genre=;
ตัวคั่นสำหรับคอลัมน์ที่มีหลายค่า ตัวคั่นเริ่มต้นคือคอมมา |
คุณภาพการค้นหา
เครื่องมือเชื่อมต่อ CSV ของ Cloud Search ช่วยให้จัดรูปแบบ HTML สำหรับช่องข้อมูลได้โดยอัตโนมัติ เครื่องมือเชื่อมต่อจะกำหนดฟิลด์ข้อมูลที่จุดเริ่มต้นของการดำเนินการเครื่องมือเชื่อมต่อ จากนั้นใช้เทมเพลตเนื้อหาเพื่อจัดรูปแบบแต่ละระเบียนข้อมูลก่อนที่จะอัปโหลดไปยัง Cloud Search
เทมเพลตเนื้อหาจะกำหนดความสำคัญของค่าฟิลด์แต่ละรายการสำหรับการค้นหา ต้องระบุฟิลด์ชื่อและกำหนดให้เป็นลำดับความสำคัญสูงสุด คุณสามารถ กำหนดระดับความสำคัญของคุณภาพการค้นหาสำหรับช่องเนื้อหาอื่นๆ ทั้งหมดได้เป็นสูง ปานกลาง หรือต่ำ ฟิลด์เนื้อหาที่ไม่ได้กำหนดไว้ในหมวดหมู่ที่เฉพาะเจาะจง จะใช้ลำดับความสำคัญต่ำโดยค่าเริ่มต้น ตารางต่อไปนี้แสดงพารามิเตอร์เหล่านี้
การตั้งค่า | พารามิเตอร์ |
ชื่อเนื้อหา | contentTemplate.csv.title=movieTitle
ชื่อเนื้อหาเป็นฟิลด์ที่มีคุณภาพการค้นหาสูงที่สุด |
คุณภาพการค้นหาสูงสำหรับช่องเนื้อหา | contentTemplate.csv.quality.high=actors
ฟิลด์เนื้อหาที่ได้รับค่าคุณภาพการค้นหาสูง ค่าเริ่มต้นคือสตริงว่าง |
คุณภาพการค้นหาต่ำสำหรับฟิลด์เนื้อหา | contentTemplate.csv.quality.low=genre
ฟิลด์เนื้อหาที่ได้รับค่าคุณภาพการค้นหาต่ำ ค่าเริ่มต้นคือสตริงว่าง |
คุณภาพการค้นหาปานกลางสำหรับฟิลด์เนื้อหา | contentTemplate.csv.quality.medium=description
ฟิลด์เนื้อหาที่ได้รับค่าคุณภาพการค้นหาระดับปานกลาง ค่าเริ่มต้นคือสตริงว่าง |
ฟิลด์เนื้อหาที่ไม่ได้ระบุ | contentTemplate.csv.unmappedColumnsMode=IGNORE
วิธีที่ตัวเชื่อมต่อจัดการฟิลด์เนื้อหาที่ไม่ได้ระบุ ค่าที่ใช้ได้มีดังนี้
|
8. กำหนดเวลาการไปยังส่วนต่างๆ ของข้อมูล
การข้ามคือกระบวนการของตัวเชื่อมต่อในการค้นหาเนื้อหาจากแหล่งข้อมูล ซึ่งในกรณีนี้คือไฟล์ CSV ขณะที่ตัวเชื่อมต่อ CSV ทำงาน ตัวเชื่อมต่อจะข้าม แถวของไฟล์ CSV และจัดทำดัชนีแต่ละแถวไปยัง Cloud Search ผ่าน Indexing API
การจัดทำดัชนีการข้ามทั้งหมดจะจัดทำดัชนีคอลัมน์ทั้งหมดในไฟล์ การไปยังแบบเพิ่มจะจัดทำดัชนีเฉพาะคอลัมน์ที่เพิ่มหรือแก้ไขนับตั้งแต่การไปยังครั้งก่อน ตัวเชื่อมต่อ CSV จะทำการสำรวจแบบเต็มเท่านั้น โดยจะไม่ทำการสำรวจแบบเพิ่ม
พารามิเตอร์การกำหนดเวลาจะกำหนดความถี่ที่ตัวเชื่อมต่อรอระหว่างการ ข้าม หากไฟล์การกำหนดค่าไม่มีพารามิเตอร์การจัดกำหนดการ ระบบจะใช้ค่าเริ่มต้น ตารางต่อไปนี้แสดงพารามิเตอร์เหล่านี้
การตั้งค่า | พารามิเตอร์ |
การสำรวจแบบเต็มหลังจากช่วงเวลาหนึ่ง | schedule.traversalIntervalSecs=7200
เครื่องมือเชื่อมต่อจะทำการสำรวจแบบเต็มหลังจากช่วงเวลาที่ระบุ ระบุช่วงเวลาระหว่างการไปยังส่วนต่างๆ เป็นวินาที ค่าเริ่มต้นคือ 86400 (จำนวนวินาทีใน 1 วัน) |
การไปยังทุกรายการเมื่อเริ่มต้นเครื่องมือเชื่อมต่อ | schedule.performTraversalOnStart=false
เครื่องมือเชื่อมต่อจะทำการสำรวจแบบเต็มเมื่อเริ่มต้นเครื่องมือเชื่อมต่อ แทนที่จะรอให้ช่วงแรกหมดอายุ ค่าเริ่มต้นคือ true |
9. ระบุตัวเลือกรายการควบคุมการเข้าถึง (ACL)
ตัวเชื่อมต่อ CSV ของ Google Cloud Search รองรับสิทธิ์ผ่าน ACL เพื่อควบคุม การเข้าถึงเนื้อหาของไฟล์ CSV ในผลการค้นหา มีตัวเลือก ACL หลายรายการ ให้คุณเลือกใช้เพื่อปกป้องการเข้าถึงของผู้ใช้ไปยังระเบียนที่จัดทำดัชนี
หากที่เก็บมีข้อมูล ACL แต่ละรายการที่เชื่อมโยงกับเอกสารแต่ละรายการ ให้อัปโหลดข้อมูล ACL ทั้งหมดเพื่อควบคุมการเข้าถึงเอกสารภายใน Cloud Search หากที่เก็บของคุณให้ข้อมูล ACL บางส่วนหรือไม่ให้ข้อมูลเลย คุณสามารถระบุข้อมูล ACL เริ่มต้นในพารามิเตอร์ต่อไปนี้ ซึ่ง SDK จะส่งไปยังตัวเชื่อมต่อ
เครื่องมือเชื่อมต่อนี้ต้องใช้ ACL เริ่มต้นที่เปิดใช้อยู่ในไฟล์การกำหนดค่า หากต้องการ
เปิดใช้ ACL เริ่มต้น ให้ตั้งค่า defaultAcl.mode
เป็นโหมดอื่นที่ไม่ใช่ none
และ
กำหนดค่าด้วย defaultAcl.*
การตั้งค่า | พารามิเตอร์ |
โหมด ACL | defaultAcl.mode=fallback
ต้องระบุ เครื่องมือเชื่อมต่อ CSV จะใช้ฟังก์ชัน ACL เริ่มต้น ตัวเชื่อมต่อรองรับเฉพาะโหมดสำรอง |
ชื่อ ACL เริ่มต้น | defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1
ไม่บังคับ อนุญาตให้ลบล้างชื่อคอนเทนเนอร์เสมือนที่ใช้โดยตัวเชื่อมต่อเพื่อตั้งค่า ACL เริ่มต้น ค่าเริ่มต้นคือ "DEFAULT_ACL_VIRTUAL_CONTAINER" คุณอาจต้องลบล้างค่านี้หากตัวเชื่อมต่อหลายตัวจัดทำดัชนีเนื้อหาในแหล่งข้อมูลเดียวกัน |
ACL สาธารณะเริ่มต้น | defaultAcl.public=true
ACL เริ่มต้นที่ใช้สำหรับทั้งที่เก็บจะตั้งค่าเป็นการเข้าถึงโดเมนสาธารณะ ค่าเริ่มต้นคือ false |
ผู้อ่านกลุ่ม ACL ทั่วไป | defaultAcl.readers.groups=google:group1, group2 |
ผู้อ่าน ACL ทั่วไป | defaultAcl.readers.users=user1, user2, google:user3 |
ACL ทั่วไปปฏิเสธผู้อ่านกลุ่ม | defaultAcl.denied.groups=group3 |
ผู้อ่านที่ถูกปฏิเสธ Acl ทั่วไป | defaultAcl.denied.users=user4, user5 |
สิทธิ์เข้าถึงทั้งโดเมน | หากต้องการระบุว่าผู้ใช้ทุกคนในโดเมนควรเข้าถึงระเบียนที่จัดทำดัชนีทั้งหมดได้แบบสาธารณะ ให้ตั้งค่าตัวเลือกทั้ง 2 รายการต่อไปนี้ด้วยค่า
|
ACL ที่กำหนดไว้ทั่วไป | หากต้องการระบุ ACL 1 รายการสำหรับแต่ละระเบียนของที่เก็บข้อมูล ให้ตั้งค่าพารามิเตอร์ทั้งหมดต่อไปนี้
|
คำจำกัดความของสคีมา
Cloud Search อนุญาตให้จัดทำดัชนีและแสดงเนื้อหาที่มีโครงสร้างและไม่มีโครงสร้าง หากต้องการรองรับการค้นหา Structured Data ในข้อมูล คุณต้องตั้งค่าสคีมาสำหรับแหล่งข้อมูล
เมื่อกำหนดแล้ว เครื่องมือเชื่อมต่อ CSV จะอ้างอิงสคีมาที่กำหนดเพื่อสร้างคำขอการจัดทำดัชนีได้ เพื่อแสดงตัวอย่าง ให้พิจารณาไฟล์ CSV ที่มีข้อมูลเกี่ยวกับภาพยนตร์
สมมติว่าไฟล์ CSV ของอินพุตมีเนื้อหาต่อไปนี้
- movieId
- movieTitle
- คำอธิบาย
- ปี
- releaseDate
- นักแสดง (หลายค่าคั่นด้วยคอมมา (,))
- ประเภท (หลายค่า)
- การให้คะแนน
คุณสามารถกําหนดสคีมาสําหรับแหล่งข้อมูลภายใต้โครงสร้างข้อมูลข้างต้น ซึ่งคุณต้องการจัดทําดัชนีข้อมูลจากไฟล์ CSV
{
"objectDefinitions": [
{
"name": "movie",
"propertyDefinitions": [
{
"name": "actors",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"operatorOptions": {
"operatorName": "actor"
}
}
},
{
"name": "releaseDate",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "released",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
},
{
"name": "movieTitle",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"textPropertyOptions": {
"retrievalImportance": {
"importance": "HIGHEST"
},
"operatorOptions": {
"operatorName": "title"
}
}
},
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"enumPropertyOptions": {
"operatorOptions": {
"operatorName": "genre"
},
"possibleValues": [
{
"stringValue": "Action"
},
{
"stringValue": "Documentary"
},
{
"stringValue": "Drama"
},
{
"stringValue": "Crime"
},
{
"stringValue": "Sci-fi"
}
]
}
},
{
"name": "userRating",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": true,
"integerPropertyOptions": {
"orderedRanking": "ASCENDING",
"maximumValue": "10",
"operatorOptions": {
"operatorName": "score",
"lessThanOperatorName": "scorebelow",
"greaterThanOperatorName": "scoreabove"
}
}
}
]
}
]
}
ตัวอย่างไฟล์การกำหนดค่า
ไฟล์การกำหนดค่าตัวอย่างต่อไปนี้แสดงคู่พารามิเตอร์ key=value
ที่กำหนดลักษณะการทำงานของตัวเชื่อมต่อตัวอย่าง
# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json
# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle
# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE
#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true
ดูคำอธิบายโดยละเอียดของพารามิเตอร์แต่ละรายการได้ที่ข้อมูลอ้างอิงของพารามิเตอร์การกำหนดค่า
เรียกใช้เครื่องมือเชื่อมต่อ CSV ของ Cloud Search
หากต้องการเรียกใช้ตัวเชื่อมต่อจากบรรทัดคำสั่ง ให้พิมพ์คำสั่งต่อไปนี้
$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config
โดยค่าเริ่มต้น บันทึกของเครื่องมือเชื่อมต่อจะพร้อมใช้งานในเอาต์พุตมาตรฐาน คุณบันทึกลงในไฟล์ได้
โดยระบุ logging.properties