ใช้การเติมข้อความอัตโนมัติ

การเติมข้อความอัตโนมัติของ Cloud Search จะช่วยผู้ใช้ด้วยการแนะนำคำเมื่อผู้ใช้กำลังพิมพ์คำค้นหา เช่น คำแนะนำอาจเป็นคำจากชื่อเอกสาร โอเปอเรเตอร์การค้นหา ค่าโอเปอเรเตอร์การค้นหา หรือชื่อและอีเมลจากองค์กร Google Workspace

การเติมข้อความอัตโนมัติจะดึงวลีจากชื่อเอกสารที่จัดทําดัชนีไว้ และใช้รูปแบบ n-gram เพื่อระบุคำแนะนำให้แสดงโดยใช้ Recommendation API วลีจากชื่อเอกสารจะแสดงในการเติมข้อความอัตโนมัติโดยค่าเริ่มต้น นอกจากนี้ คุณยังทำเครื่องหมายพร็อพเพอร์ตี้สคีมาและข้อความ enum เป็น is_suggestable เพื่อเติมชื่อพร็อพเพอร์ตี้และค่าที่เกี่ยวข้องโดยอัตโนมัติได้ด้วย

Suggest API จะตรวจสอบคำค้นหาเพื่อดูคำแนะนำเกี่ยวกับภาษาของคำค้นหา เช่น อังกฤษหรือสเปน และจัดลำดับความสำคัญของผลการค้นหาตามนั้น นอกจากนี้ ช่อง languageCode ของคำขอยังใช้เพื่อปรับปรุงคำแนะนำสำหรับแต่ละภาษาด้วย

สถานการณ์ตัวอย่าง

ตัวอย่างเช่น สมมติว่าคุณมีแหล่งข้อมูลต่อไปนี้ที่มีข้อมูลเกี่ยวกับภาพยนตร์

  • แหล่งข้อมูลมีเอกสาร 2 ฉบับ
  • เอกสารแต่ละรายการจะมีชื่อ (ItemMetadata.title) และพร็อพเพอร์ตี้ 2 รายการคือ genre และ characters
  • เอกสารฉบับแรกมีชื่อว่า "Avengers Infinity War" โดยมี genre=science fiction และ characters=Iron Man, Hulk
  • เอกสารฉบับที่ 2 มีชื่อว่า "แฮร์รี่ พอตเตอร์" ที่มี genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter"

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

เอกสาร 2 รายการและ ngram ที่เป็นผลลัพธ์
รูปที่ 1 เอกสาร 2 รายการและ n-gram ที่ได้ซึ่งใช้สำหรับการเติมข้อความอัตโนมัติ

จากเอกสารฉบับที่ 1 เราแยกตัวอักษร N แกรม (ไม่เกิน 3 ตัวอักษร) "อเวนเจอร์ส" "อินฟินิตี้" "สงคราม" "อเวนเจอร์สอินฟินิตี้" "อินฟินิตี้ วอร์ส" "อเวนเจอร์ส อินฟินิตี้ สงคราม" ในลักษณะเดียวกันจากเอกสารฉบับที่ 2 เราจะสร้าง "แฮร์รี่" "พอตเตอร์" "แฮร์รี่ พอตเตอร์"

เมื่อค้นหาแหล่งข้อมูลนี้ สมมติว่าผู้ใช้เริ่มด้วยการพิมพ์ "h" คำแนะนำที่แสดงให้ผู้ใช้เห็นจะเป็น

  • CANNOT TRANSLATE
  • เฮอร์ไมโอน
  • ฮัลค์
  • แฮร์รี่ พอตเตอร์

สมมติว่าผู้ใช้เลือกคำแนะนำที่เติมข้อความอัตโนมัติ "Hermione" และการกดแป้นพิมพ์ถัดไปจากผู้ใช้คืออักขระ "a" คำแนะนำที่เติมข้อความอัตโนมัติ ที่แสดงต่อผู้ใช้จะเป็นดังนี้

  • เฮอร์มิโอน แอดเวนเจอร์
  • เฮอร์ไมโอนีแอ็คชัน
  • เฮอร์ไมโอน อเวนเจอร์ส

การเติมข้อความอัตโนมัติจะพยายามเติมคำสุดท้าย (หรือ ngram) ที่พิมพ์ให้สมบูรณ์ ในตัวอย่างก่อนหน้านี้ จะขยาย "a" เป็น "adventure", "action" และ "avengers" เนื่องจากไม่มีข้อความที่ขึ้นต้นด้วย "hermione a" ด้วยกัน คำแนะนำนี้เรียกว่าคำแนะนำส่วนหาง ซึ่งจะเติมอัตโนมัติเฉพาะคำ/n-gramสุดท้ายที่พิมพ์

การเติมข้อความอัตโนมัติของ Cloud Search จะแสดงคำแนะนำสูงสุด 5 รายการจากเนื้อหาเอกสารและคำแนะนำบุคคล 2 รายการ

วลีจากชื่อเอกสารจะแสดงในการเติมข้อความอัตโนมัติโดยค่าเริ่มต้น ต้องทำเครื่องหมายพร็อพเพอร์ตี้สคีมาเป็น is_suggestable อย่างชัดแจ้งเพื่อให้ API การแนะนำใส่ค่าพร็อพเพอร์ตี้และค่าต่างๆ ที่เกี่ยวข้องโดยอัตโนมัติ

ผสานรวมกับ API เติมข้อความอัตโนมัติ

หากคุณใช้แอปพลิเคชันการค้นหาเริ่มต้นหรือวิดเจ็ตการค้นหาแบบฝังได้ ระบบจะรองรับฟีเจอร์เติมข้อความอัตโนมัติของ Cloud Search โดยไม่ต้องดำเนินการใดๆ เพิ่มเติม อย่าลืมว่าวลีจากชื่อเอกสาร จะแสดงในการเติมข้อความอัตโนมัติโดยค่าเริ่มต้น คุณต้องทำเครื่องหมายพร็อพเพอร์ตี้สคีมาเป็น is_suggestable อย่างชัดแจ้งเพื่อให้ API แนะนำเติมชื่อพร็อพเพอร์ตี้และค่าที่เกี่ยวข้องโดยอัตโนมัติ

หากคุณสร้างแอปพลิเคชันการค้นหาที่กำหนดเอง คุณจะใช้งานการเติมข้อความอัตโนมัติได้โดยการค้นหาปลายทาง API ของ /query/suggest

ข้อจำกัด

การเติมข้อความอัตโนมัติมีข้อจำกัดดังนี้

  • ระบบจะไม่รองรับการจำกัดวลีเติมข้อความอัตโนมัติของ Cloud Search โดยใช้ FilterOptions ที่กำหนดไว้ในสคีมา ยกเว้นตัวกรองในตัว ได้แก่ objectype, mimetype และตัวกรองประเภท

  • ระบบไม่รองรับคำแนะนำตามประวัติข้อความค้นหา (การค้นหาที่ผู้ใช้ทำก่อนหน้านี้ในแอปพลิเคชันการค้นหา)

  • ทำเครื่องหมายที่พักเป็น is_suggestable ได้สูงสุด 20 รายการ คุณเพิ่มขีดจำกัดนี้ได้โดยติดต่อทีมสนับสนุนของ Cloud Search

  • การเติมข้อความอัตโนมัติของโอเปอเรเตอร์การค้นหาใช้ไม่ได้กับพร็อพเพอร์ตี้ที่มี exact_match_with_operator

  • การเติมข้อความอัตโนมัติของ Cloud Search จะแสดงคำแนะนำสูงสุด 5 รายการจากเนื้อหาเอกสารและคำแนะนำบุคคล 2 รายการ

  • การเติมข้อความอัตโนมัติของ Cloud Search จะแนะนำวลีจากเอกสารที่ผู้ใช้มีสิทธิ์เข้าถึงเท่านั้น