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