ทำให้เครื่องมือเชื่อมต่อ CSV ใช้งานได้

คำแนะนำนี้มีไว้สำหรับผู้ดูแลระบบเครื่องมือเชื่อมต่อ CSV (ค่าที่คั่นด้วยคอมมา) ของ Google Cloud Search กล่าวคือ ผู้ที่มีหน้าที่ดาวน์โหลด กำหนดค่า เรียกใช้ และตรวจสอบเครื่องมือเชื่อมต่อ

คำแนะนำนี้ประกอบด้วยวิธีทำงานสำคัญที่เกี่ยวข้องกับการทำให้เครื่องมือเชื่อมต่อ CSV ใช้งานได้ ดังนี้

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

เพื่อทำความเข้าใจแนวคิดในเอกสารนี้ คุณควรทำความคุ้นเคยกับพื้นฐานของ Google Workspace, ไฟล์ CSV และรายการควบคุมการเข้าถึง (ACL)

ภาพรวมของเครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search

เครื่องมือเชื่อมต่อ Cloud Search CSV ใช้งานได้กับไฟล์ข้อความค่าที่คั่นด้วยคอมมา (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 ของโดเมนจะให้ข้อมูลเข้าสู่ระบบเหล่านี้แก่คุณได้

ขั้นตอนการทำให้ใช้งานได้

หากต้องการทำให้เครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search ใช้งานได้ ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้งซอฟต์แวร์เครื่องมือเชื่อมต่อ CSV ของ Google Cloud Search
  2. ระบุการกำหนดค่าเครื่องมือเชื่อมต่อ CSV
  3. กำหนดค่าการเข้าถึงแหล่งข้อมูล Google Cloud Search
  4. กำหนดค่าการเข้าถึงไฟล์ CSV
  5. ระบุชื่อคอลัมน์ที่จะจัดทำดัชนี คอลัมน์คีย์ที่ไม่ซ้ำกัน และคอลัมน์วันที่และเวลา
  6. ระบุคอลัมน์ที่จะใช้ใน URL ของผลการค้นหาที่คลิกได้
  7. ระบุข้อมูลข้อมูลเมตา รูปแบบคอลัมน์
  8. กำหนดเวลาการส่งผ่านข้อมูล
  9. ระบุตัวเลือก Access Control List (ACL)

1. ติดตั้ง SDK

ติดตั้ง SDK ลงในที่เก็บ Maven ในเครื่อง

  1. โคลนที่เก็บ SDK จาก GitHub

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv
  2. ตรวจสอบเวอร์ชัน SDK ที่ต้องการ

    $ git checkout tags/v1-0.0.3
  3. สร้างเครื่องมือเชื่อมต่อดังนี้

    $ mvn package
  4. คัดลอกไฟล์ 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 และจัดทำดัชนีเนื้อหาที่เกี่ยวข้องได้อย่างถูกต้อง

วิธีสร้างไฟล์การกำหนดค่ามีดังนี้

  1. เปิดเครื่องมือแก้ไขข้อความที่ต้องการ และตั้งชื่อไฟล์การกำหนดค่า
    เพิ่มคู่ key=value ลงในเนื้อหาไฟล์ตามที่อธิบายไว้ในส่วนต่อไปนี้
  2. บันทึกและตั้งชื่อไฟล์การกำหนดค่า
    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

ค่าของรูปแบบ ได้แก่ DEFAULT, EXCEL, INFORMIX_UNLOAD, INFORMIX_UNLOAD_CSV, MYSQL, RFC4180, ORACLE, POSTGRESQL_CSV, POSTGRESQL_TEXT และ TDF หากไม่ระบุ Cloud Search จะใช้ DEFAULT

ตัวปรับแต่งรูปแบบไฟล์ csv.format.withMethod=value

การแก้ไขวิธีที่ Cloud Search จัดการไฟล์ เมธอดที่เป็นไปได้มาจากคลาส CSVFormat ของ Apache Commons CSV และรวมเมธอดที่มีอักขระ สตริง หรือค่าบูลีนเพียงตัวเดียว

เช่น หากต้องการระบุเครื่องหมายเซมิโคลอนเป็นตัวคั่น ให้ใช้ csv.format.withDelimiter=; หากต้องการละเว้นบรรทัดว่าง ให้ใช้ csv.format.withIgnoreEmptyLines=true

ประเภทการเข้ารหัสไฟล์ csv.fileEncoding=UTF-8

การเข้ารหัสข้อความสำหรับ Java จะใช้เมื่อ Cloud Search อ่านไฟล์ หากไม่ระบุ Cloud Search จะใช้การเข้ารหัสข้อความเริ่มต้นของแพลตฟอร์ม

5. ระบุชื่อคอลัมน์ที่จะทำดัชนีและคอลัมน์คีย์ที่ไม่ซ้ำกัน

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

การเกริ่นนำ พารามิเตอร์
คอลัมน์ที่จะทำดัชนี csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...

ชื่อคอลัมน์ที่จะจัดทำดัชนีจากไฟล์ CSV หากไม่ได้ตั้งค่า csv.csvColumns ระบบจะใช้แถวแรกของไฟล์ CSV เป็นส่วนหัว หากมีการตั้งค่า csv.csvColumns ไว้ ระบบจะใช้ค่านั้นเหนือแถวแรกของ CSV หากคุณตั้งค่า csv.csvColumns ไว้ และแถวแรกของไฟล์ CSV เป็นรายการชื่อคอลัมน์ คุณจะต้องตั้งค่า csv.skipHeaderRecord=true เพื่อหลีกเลี่ยงการพยายามจัดทำดัชนีแถวแรกเป็นข้อมูล ค่าเริ่มต้นคือคอลัมน์ในแถวส่วนหัวในไฟล์

คอลัมน์หลักที่ไม่ซ้ำกัน 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 ที่ค่าจะเป็นค่า Escape เพื่อสร้าง 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.csvColumns และไฟล์ CSV มีแถวส่วนหัว คุณต้องตั้งค่า skipHeaderRecord=true วิธีนี้จะป้องกันไม่ให้มีการจัดทำดัชนีแถวแรกในไฟล์เป็นข้อมูล หากไฟล์ CSV ไม่มีแถวส่วนหัว ให้ตั้งค่า skipHeaderRecord=false ค่าเริ่มต้นคือ false

คอลัมน์ที่มีค่าหลายค่า 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

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

  • APPEND - เพิ่มช่องเนื้อหาที่ไม่ได้ระบุลงในเทมเพลต
  • IGNORE - ละเว้นช่องเนื้อหาที่ไม่ได้ระบุ

    ค่าเริ่มต้นคือ APPEND.

8. กำหนดเวลาการส่งผ่านข้อมูล

การข้ามผ่านคือกระบวนการของเครื่องมือเชื่อมต่อสำหรับการค้นหาเนื้อหาจากแหล่งข้อมูล ซึ่งในกรณีนี้คือไฟล์ CSV เมื่อเรียกใช้เครื่องมือเชื่อมต่อ CSV เครื่องมือเชื่อมต่อจะข้ามผ่านแถวของไฟล์ CSV และจัดทำดัชนีแต่ละแถวไปยัง Cloud Search ผ่าน Indexing API

Full Traversal จะจัดทำดัชนีคอลัมน์ทั้งหมดในไฟล์ การข้ามผ่านส่วนเพิ่มจะจัดทำดัชนีเฉพาะคอลัมน์ที่มีการเพิ่มหรือแก้ไขตั้งแต่การข้ามผ่านก่อนหน้า เครื่องมือเชื่อมต่อ CSV จะดำเนินการข้ามผ่านแบบเต็มเท่านั้น แต่จะไม่ดำเนินการข้ามผ่านเพิ่ม

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

การเกริ่นนำ พารามิเตอร์
การข้ามผ่านแบบสมบูรณ์หลังช่วง schedule.traversalIntervalSecs=7200

เครื่องมือเชื่อมต่อจะดำเนินการข้ามผ่านโดยสมบูรณ์หลังจากช่วงเวลาที่ระบุ ระบุช่วงเวลาระหว่างการข้ามผ่านในหน่วยวินาที ค่าเริ่มต้นคือ 86400 (จำนวนวินาทีใน 1 วัน)

การข้ามผ่านโดยสมบูรณ์เมื่อเริ่มต้นใช้งานเครื่องมือเชื่อมต่อ schedule.performTraversalOnStart=false

เครื่องมือเชื่อมต่อจะดำเนินการข้ามผ่านโดยสมบูรณ์เมื่อเริ่มต้นใช้งานเครื่องมือเชื่อมต่อ แทนที่จะรอให้ช่วงเวลาแรกหมดอายุ ค่าเริ่มต้นคือ true

9. ระบุตัวเลือก Access Control List (ACL)

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

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

เครื่องมือเชื่อมต่อต้องใช้ ACL เริ่มต้นที่เปิดใช้ในไฟล์การกำหนดค่า หากต้องการเปิดใช้ ACL เริ่มต้น ให้ตั้งค่า defaultAcl.mode เป็นโหมดอื่นที่ไม่ใช่ none และกำหนดค่าด้วย defaultAcl.*

การเกริ่นนำ พารามิเตอร์
โหมด ACL defaultAcl.mode=สำรอง

ต้องระบุ เครื่องมือเชื่อมต่อ 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 ต่อไปนี้ด้วยค่า
  • defaultAcl.mode=สำรอง
  • defaultAcl.public=true
ACL ที่กำหนดโดยทั่วไป หากต้องการระบุ ACL 1 รายการสำหรับแต่ละระเบียนของที่เก็บข้อมูล ให้ตั้งค่าพารามิเตอร์ต่อไปนี้ทั้งหมด:
  • defaultAcl.mode=สำรอง
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1, group2
  • defaultAcl.readers.users=user1, user2, google:user3
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    จะถือว่าผู้ใช้และกลุ่มที่ระบุทั้งหมดเป็นผู้ใช้/กลุ่มตามโดเมนท้องถิ่น ยกเว้นว่าจะขึ้นต้นด้วย "google:" (ค่าคงที่ตามตัวอักษร)

    ผู้ใช้หรือกลุ่มเริ่มต้นจะเป็นสตริงว่าง ระบุตัวเลือกของผู้ใช้และกลุ่มก็ต่อเมื่อตั้งค่า defaultAcl.public เป็น false หากต้องการระบุกลุ่มและผู้ใช้หลายกลุ่ม ให้ใช้รายการที่คั่นด้วยจุลภาค

    หากตั้งค่า defaultAcl.mode เป็น none ระเบียนจะไม่สามารถค้นหาได้โดยไม่ต้องกำหนด ACL แต่ละรายการ

คำจำกัดความของสคีมา

Cloud Search ทำให้สามารถจัดทำดัชนีและแสดงเนื้อหาที่มีโครงสร้างและไม่มีโครงสร้างได้ คุณต้องตั้งค่าสคีมาสำหรับแหล่งข้อมูลเพื่อให้รองรับการค้นหาข้อมูลที่มีโครงสร้างของข้อมูล

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

สมมติว่าไฟล์ CSV ที่ป้อนมีเนื้อหาดังต่อไปนี้

  1. movieId
  2. movieTitle
  3. คำอธิบาย
  4. ปี
  5. releaseDate
  6. นักแสดง (มีหลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค (,))
  7. genre (หลายค่า)
  8. การให้คะแนน

ตามโครงสร้างข้อมูลข้างต้น คุณสามารถกำหนดสคีมาสำหรับแหล่งข้อมูลที่ต้องการจัดทำดัชนีข้อมูลจากไฟล์ 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