20 คะแนน โดย xguru 2020-12-11 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เร็วมาก และค้นหาผลลัพธ์ที่เกี่ยวข้องกับคำค้นได้

→ Typo Tolerance (รองรับการพิมพ์ผิด): สามารถตรวจจับและจัดการคำสะกดผิดได้เองในระดับหนึ่ง

  • ปรับแต่งอันดับผลการค้นหาได้สะดวก

  • รองรับการจัดเรียงตามแต่ละฟิลด์ขณะค้นหา

  • รองรับการสำรวจแบบ Facet & Filter: จัดกลุ่มผลการค้นหาตามฟิลด์ที่กำหนดและกรองได้

  • จำกัดขอบเขตของ API Key เพื่อเข้าถึงผลลัพธ์บางส่วนได้

  • คลัสเตอร์ริงบนพื้นฐานของ Raft

  • มีไบนารีสำหรับ Linux/Mac และอิมเมจ Docker ให้ใช้งาน

  • เป็นโอเพนซอร์สที่เขียนด้วย C

ใน FAQ

  • ต่างจาก ElasticSearch อย่างไร?

→ ES ติดตั้งและดูแลจัดการค่อนข้างซับซ้อน แต่ TypeSense ถูกสร้างมาเพื่อ "Time-to-Market" จึงติดตั้งได้อย่างรวดเร็ว และแน่นอนว่าสเกลได้เช่นกัน

  • ต่างจาก Algolia อย่างไร?

→ Algolia เป็น SaaS สำหรับเสิร์ชเอนจินที่ดีมาก แต่มีราคาสูง ส่วน TypeSense สามารถโฮสต์เองได้ และเวอร์ชัน SaaS ก็มีราคาถูกกว่า (ไม่ได้คิดค่าบริการตามจำนวนเรคอร์ดที่เก็บหรือจำนวนครั้งที่ค้นหา แต่คิดตามเวลาใช้งานและแบนด์วิดท์)

→ ในแง่ฟีเจอร์ TypeSense คล้ายกับ Algolia มากกว่า ElasticSearch

  • เร็วขนาดนี้ แล้ว memory footprint เป็นอย่างไร?

→ โดยพื้นฐานแล้วเซิร์ฟเวอร์ TypeSense ใช้หน่วยความจำราว 30MB และจะเพิ่มขึ้นเมื่อเริ่มทำดัชนีข้อมูล แต่ยังคงโครงสร้างข้อมูลที่กะทัดรัดมาก

→ หัวข้อโพสต์ของ Hacker News จำนวน 1 ล้านรายการมีขนาด 88MB ในรูปแบบ JSON แต่เมื่อ Typesense ทำดัชนีและโหลดขึ้นหน่วยความจำ จะใช้ประมาณ 165MB

2 ความคิดเห็น

 
xguru 2020-12-11

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

อย่างไรก็ตาม ถ้าเป็นภาษาเกาหลีก็คงมีเรื่องอย่างการตัดคำที่ต้องใส่ใจอยู่บ้าง.. แต่เพราะมันค้นหาได้รวดเร็วในระดับตัวอักษรและแสดงผลลัพธ์ออกมา จึงดูเป็นตัวเลือกที่มีคุณค่าพอให้พิจารณา

 
xguru 2020-12-11

มีเว็บไซต์เดโมที่ทำขึ้นโดยใช้ TypeSense นี้อยู่ ลองดูไปด้วยกันน่าจะดีครับ