คุณตั้งค่า Google Cloud Search เพื่อค้นหาและจัดทำดัชนีข้อมูลจากฐานข้อมูลขององค์กรได้โดยใช้เครื่องมือเชื่อมต่อฐานข้อมูล Cloud Search
สิ่งสำคัญที่ต้องคำนึงถึง
คุณติดตั้งและเรียกใช้เครื่องมือเชื่อมต่อฐานข้อมูล Cloud Search ได้ใน แทบทุกสภาพแวดล้อมที่แอป Java ทำงานได้ ตราบใดที่เครื่องมือเชื่อมต่อมี สิทธิ์เข้าถึงทั้งอินเทอร์เน็ตและฐานข้อมูล
ข้อกำหนดของระบบ
| ข้อกำหนดของระบบ | |
|---|---|
| ระบบปฏิบัติการ | Windows หรือ Linux |
| ฐานข้อมูล SQL | ฐานข้อมูล SQL ที่มีไดรเวอร์ที่สอดคล้องกับ JDBC 4.0 ขึ้นไป ซึ่งรวมถึง
|
| ซอฟต์แวร์ | ไดรเวอร์ JDBC (ดาวน์โหลดและติดตั้งแยกต่างหาก) |
ติดตั้งใช้งานเครื่องมือเชื่อมต่อ
ขั้นตอนเหล่านี้อธิบายวิธีติดตั้งเครื่องมือเชื่อมต่อและกำหนดค่าให้จัดทำดัชนี ฐานข้อมูลและแสดงผลลัพธ์แก่ผู้ใช้ Cloud Search
ข้อกำหนดเบื้องต้น
โปรดรวบรวมข้อมูลต่อไปนี้ก่อนที่จะติดตั้งใช้งานตัวเชื่อมต่อ
- คีย์ส่วนตัวของ Google Workspace (มีรหัสบัญชีบริการ) ดู กำหนดค่าการเข้าถึง Cloud Search API
- รหัสแหล่งข้อมูล Google Workspace ดูเพิ่มแหล่งข้อมูลเพื่อค้นหา
ขั้นตอนที่ 1 ดาวน์โหลดและสร้างซอฟต์แวร์ตัวเชื่อมต่อฐานข้อมูล
โคลนที่เก็บตัวเชื่อมต่อจาก GitHub
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
ตรวจสอบเวอร์ชันที่คุณเลือกโดยทำดังนี้
$ git checkout tags/v1-0.0.3
สร้างเครื่องมือเชื่อมต่อ
หากต้องการข้ามการทดสอบ ให้ใช้$ mvn package
mvn package -DskipTestsแตกไฟล์ ZIP ของตัวเชื่อมต่อไปยังไดเรกทอรีการติดตั้ง
$ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip $ cd google-cloudsearch-database-connector-v1-0.0.3
ขั้นตอนที่ 2 กำหนดค่าเครื่องมือเชื่อมต่อฐานข้อมูล
สร้างไฟล์ข้อความชื่อ
connector-config.properties(ค่าเริ่มต้น) Google ขอแนะนำส่วนขยาย.propertiesหรือ.configเก็บไว้ในไดเรกทอรีเดียวกับตัวเชื่อมต่อเพิ่มพารามิเตอร์เป็นคู่คีย์-ค่า ไฟล์ต้องระบุการเข้าถึงแหล่งข้อมูล การเข้าถึงฐานข้อมูล คำสั่ง SQL แบบการข้ามทั้งหมด ชื่อฟิลด์เนื้อหา และ คำจำกัดความของคอลัมน์
# Data source access api.sourceId=1234567890abcdef api.identitySourceId=0987654321lmnopq api.serviceAccountPrivateKeyFile=./PrivateKey.json # Database access db.url=jdbc:mysql://localhost:3306/mysql_test db.user=root db.password=passw0rd # Full traversal SQL statement db.allRecordsSql=select customer_id, first_name, last_name, phone from address_book # Column definitions and URL format db.allColumns=customer_id, first_name, last_name, phone db.uniqueKeyColumns=customer_id url.columns=customer_id # Content field contentTemplate.db.title=customer_id # Optional: ACLs defaultAcl.mode=fallback defaultAcl.public=true # Optional: traversal schedule schedule.traversalIntervalSecs=36000 schedule.performTraversalOnStart=trueสำหรับพารามิเตอร์เฉพาะฐานข้อมูล โปรดดูข้อมูลอ้างอิงพารามิเตอร์การกำหนดค่า สำหรับพารามิเตอร์ทั่วไป โปรดดูพารามิเตอร์ของตัวเชื่อมต่อที่ Google จัดหาให้
ขั้นตอนที่ 3 เรียกใช้เครื่องมือเชื่อมต่อฐานข้อมูล
เรียกใช้ตัวเชื่อมต่อจากบรรทัดคำสั่งโดยทำดังนี้
java -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector [-Dconfig=mysql.config]
เครื่องมือเชื่อมต่อจะรายงานข้อผิดพลาดในการกำหนดค่าและการเริ่มต้น ข้อผิดพลาดอื่นๆ เช่น ไวยากรณ์ SQL ไม่ถูกต้อง จะปรากฏขึ้นเมื่อตัวเชื่อมต่อพยายามเข้าถึง ฐานข้อมูลเป็นครั้งแรก
ข้อมูลอ้างอิงพารามิเตอร์การกําหนดค่า
ส่วนนี้แสดงรายการพารามิเตอร์ที่ใช้ในไฟล์การกำหนดค่าตัวเชื่อมต่อฐานข้อมูล
พารามิเตอร์การเข้าถึงแหล่งข้อมูล
| การตั้งค่า | พารามิเตอร์ |
|---|---|
| รหัสแหล่งข้อมูล | api.sourceId = source-ID
ต้องระบุ รหัสแหล่งข้อมูล Cloud Search |
| บัญชีบริการ | api.serviceAccountPrivateKeyFile = path
ต้องระบุ เส้นทางไปยังไฟล์คีย์บัญชีบริการ |
พารามิเตอร์การเข้าถึงฐานข้อมูล
| การตั้งค่า | พารามิเตอร์ |
|---|---|
| URL ของฐานข้อมูล | db.url = database-URL
ต้องระบุ เส้นทางแบบเต็ม เช่น |
| ข้อมูลเข้าสู่ระบบ | db.user = usernamedb.password = password
ต้องระบุ คุณต้องมีสิทธิ์การอ่านระเบียนที่เกี่ยวข้อง |
พารามิเตอร์การค้นหา SQL แบบข้าม
เครื่องมือเชื่อมต่อใช้การค้นหา SQL SELECT เพื่อไปยังระเบียน
- การข้ามแบบเต็ม: อ่านทุกระเบียนที่กำหนดค่าไว้ จำเป็นสำหรับการจัดทำดัชนีครั้งแรก และการจัดทำดัชนีอีกครั้งเป็นระยะ
- การข้ามแบบเพิ่มทีละส่วน: อ่านเฉพาะระเบียนที่แก้ไขใหม่ ต้องมี ฟิลด์การประทับเวลาในฐานข้อมูล
| การตั้งค่า | พารามิเตอร์ |
|---|---|
| การค้นหาการข้ามทั้งหมด | db.allRecordsSql = SELECT columns FROM table
ต้องระบุ รวมคอลัมน์ทั้งหมดที่ใช้สำหรับเนื้อหา รหัส และ ACL |
| คำค้นหาการข้ามส่วนเพิ่ม | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
ต้องระบุสำหรับกำหนดการที่เพิ่มขึ้น "?" เป็นตัวยึดตำแหน่งการประทับเวลาที่ต้องระบุ |
พารามิเตอร์คำจำกัดความของคอลัมน์
| การตั้งค่า | พารามิเตอร์ |
|---|---|
| คอลัมน์ทั้งหมด | db.allColumns = column-1, column-2, ...
ต้องระบุ แสดงคอลัมน์ทั้งหมดที่อ้างอิงในการค้นหา SQL |
| คอลัมน์คีย์ที่ไม่ซ้ำกัน | db.uniqueKeyColumns = column-1
ต้องระบุ กำหนดรหัสที่ไม่ซ้ำกันสำหรับแต่ละระเบียน |
| คอลัมน์ลิงก์ URL | url.columns = column-1
ต้องระบุ ระบุคอลัมน์ที่ใช้สำหรับผลการค้นหาที่คลิกได้ |
ฟิลด์เนื้อหา
| การตั้งค่า | พารามิเตอร์ |
|---|---|
| คอลัมน์ชื่อ | contentTemplate.db.title = column-name
ต้องระบุ ลำดับความสำคัญสูงสุดสำหรับการจัดทำดัชนีของ Search |
| การจัดลำดับความสำคัญ | contentTemplate.db.quality.high = column-1
กำหนดให้คอลัมน์เป็นคุณภาพสูง ปานกลาง หรือต่ำ |