ตอนนี้ GeekNews ใช้การฝัง Google Search มาใช้งานอยู่ แต่
ส่วนตัวรู้สึกว่าใช้งานไม่ค่อยสะดวกเท่าไร
เวลาเราจำคีย์เวิร์ดคร่าว ๆ ของข่าวที่เพิ่งอ่านได้แล้วนำมาค้นหา
ก็ไม่มีวิธีเรียงตามล่าสุด ทำให้หายากอยู่เหมือนกัน
ผมเคยเห็นคนทำโดยใส่ vector store ด้วย wasm แต่
เนื่องจาก search engine ไม่ใช่สายงานของผม เลยคิดภาพการออกแบบได้ยาก
ถ้าจะทำ fuzzy search ฝั่งฟรอนต์เอนด์ ก็ดูเหมือนภาระของเซิร์ฟเวอร์จะเพิ่มขึ้นอยู่ดี
แม้จะเป็นฟีเจอร์แนวชวนคุยเล่น ๆ แต่มีวิธีไหนที่ทำสิ่งนี้ได้อย่างมีประสิทธิภาพไหม?
7 ความคิดเห็น
ผมเป็นพวกที่ชอบค้นหามาก แล้วปริมาณการค้นหาต่อวันอยู่ที่ประมาณเท่าไรครับ?
ถ้าไม่มาก ก็ยังพอใช้การค้นหาภาษาธรรมชาติได้โดยคงวิธีค้นหาเดิมแบบคร่าว ๆ ไว้ แล้วใช้โมเดล
rerankครับนี่คือโครงสร้างการค้นหาโดยคร่าว ๆ ของบริการที่ผมเคยทำก่อนหน้านี้
คร่าว ๆ คือในชั้นแรกจะยิงคิวรีไปที่
esก่อน แล้วค่อยนำcohere rerank apiมาใช้ จากนั้นก็เสิร์ฟผลโดยยึดบทความหลักที่มี rerank score ตรงกับภาษาธรรมชาติมากที่สุดเป็นเกณฑ์ครับแต่พอมาคิดดูแล้ว การที่บอกว่าได้ทำ embedding ของ Google ไว้ น่าจะหมายความว่าไม่มีวิธีดึงเนื้อหา html ภายในรายการผลการค้นหามาได้โดยตรงเท่าไรนะครับ ถึงอย่างนั้นก็ขอแปะลิงก์ไว้ก่อน
ลิงก์ : https://dev-wiki.dev/reading/tech/1
ผมว่างมากและชอบเรื่องการค้นหามาก ๆ เพราะงั้นถ้ายังมีประเด็นที่อยากคุยกันเกี่ยวกับเรื่องนี้ รบกวนฝากไว้ได้เลยนะครับ : )
ในกรณีของผม จุดที่ผลลัพธ์ล่าสุดไม่ขึ้นมาก่อนทำให้รู้สึกไม่ค่อยสะดวกเท่าไรนัก คิดว่าการค้นหาแบบง่ายๆ ด้วยคำสั่ง LIKE เหมือนเว็บบอร์ด bbs สมัยก่อนน่าจะตรงกับความต้องการของผมมากกว่า แม้อาจต้องพิจารณาเรื่อง range อยู่บ้างเพราะความเร็ว..
ผมก็เห็นด้วยว่านี่เป็นความไม่สะดวกอย่างหนึ่งครับ ตัวอย่างเช่น เวลา搜索คำว่า "AI" บางครั้งบทความเมื่อ 5 ปีก่อนก็ขึ้นมาอยู่หน้าแรกค่อนข้างบ่อยเหมือนกันครับ
ดูเหมือนว่าผลลัพธ์ของ Google Search ที่ฝังไว้จะถูกส่งออกมาเป็น JSON ลองดึงข้อมูลนั้นมาแล้วจัดเรียงกันดูนะครับ
ลองตรวจสอบรีเควสต์ที่ https://cse.google.com/cse/element/v1
ลองค้นหาโดยตรงใน Google เป็นอย่างไรบ้าง?
query: site:news.hada.io duckdb
https://google.com/search/…