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

เมื่อกำหนดแล้ว เครื่องมือเชื่อมต่อ 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