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

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

ค่ารูปแบบ ได้แก่ 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 ของ CSV ของ Apache Commons และรวมถึงวิธีการที่มีอักขระ สตริง หรือค่าบูลีนเดี่ยว

เช่น หากต้องการระบุเซมิโคลอนเป็นตัวคั่น ให้ใช้ 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 ผลการค้นหาที่จะ Escape 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.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 ผ่านการจัดทำดัชนี API

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

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

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

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

การส่งผ่านเต็มรูปแบบเมื่อเริ่มต้นเครื่องมือเชื่อมต่อ 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=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 ตัวเลือกต่อไปนี้
  • defaultAcl.mode=fallback
  • defaultAcl.public=true
ACL ที่กำหนดทั่วไป หากต้องการระบุ ACL 1 รายการสำหรับระเบียนที่เก็บข้อมูลแต่ละรายการ ให้ตั้งค่าค่าพารามิเตอร์ต่อไปนี้ทั้งหมด
  • defaultAcl.mode=fallback
  • 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