เมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองกำลังสับสนกับข้อ จำกัด ของเอ็นจิ้นการจัดทำดัชนีเอกสาร ฉันกำลังพัฒนาเว็บไซต์ขนาดเล็กที่ต้องการความสามารถในการค้นหาที่มีประสิทธิภาพ แต่เนื่องจากข้อ จำกัด ด้านฮาร์ดแวร์ของพวกเขาฉันจึงไม่สามารถปรับใช้โซลูชัน Lucene-ish (เช่น Solr หรือ ElasticSearch ได้ตามปกติ) เพื่อจัดการกับความต้องการนี้
และถึงแม้ว่าในขณะที่ฉันต้องการแสดงข้อมูลที่ซับซ้อนและการคำนวณที่ใช้ฐานข้อมูลมากฉันก็ไม่จำเป็นต้องจัดการกับระเบียนที่มีศักยภาพมากกว่า 250k การปรับใช้อินสแตนซ์ Solr หรือ ES ทั้งหมดเพื่อจัดการสิ่งนี้ดูเหมือนเป็นการสิ้นเปลือง
หลังจากที่ฉันคิดเกี่ยวกับมันดูเหมือนว่าปัญหาใหญ่มาก คนส่วนใหญ่จัดการข้อกำหนดการค้นหาด้วย SQL เพียงอย่างเดียว พวกเขาเรียกใช้แบบสอบถาม SQL สำหรับข้อมูลของพวกเขาและนั่นคือ ความสามารถในการค้นหาของพวกเขาก็จบลงด้วยความน่ากลัว
การค้นหา wildcard แบบเต็มครอบคลุมอาจทำให้ระบบช้าลงอย่างเจ็บปวด (โดยเฉพาะโฮสต์ที่ใช้ร่วมกัน) และทำให้ฐานข้อมูลของคุณชะงักงันโดยเฉพาะอย่างยิ่งถ้าคุณมีคำถามที่ซับซ้อนและมีการเข้าร่วมจำนวนมาก
คุณต้องทำหลายแบบสอบถามในคำขอเดียวจากผู้ใช้ คุณอาจได้รับสิ่งนี้ด้วยข้อความค้นหาที่ซับซ้อนมากขึ้น แต่ดูจุดก่อนหน้า
โดยทั่วไปแล้วฟีเจอร์ที่ขาดอยู่ในเอ็นจิ้นข้อความแบบเต็ม
ฐานข้อมูลมีปัญหาแบบเดียวกันกับที่ต้องติดตั้งเป็นเซิร์ฟเวอร์จากนั้น SQLite ก็มาพร้อมกันและทันใดนั้นเราก็สามารถปรับใช้ฐานข้อมูลที่อยู่ในตัวเองในไฟล์เดียว Googling ของฉันไม่ได้ทำอะไรเลย - สงสัยว่ามีบางอย่างที่เป็นเช่นนี้สำหรับการจัดทำดัชนี / การค้นหาข้อความแบบเต็ม
ปัจจัยใดที่ควรคำนึงถึงเมื่อตัดสินใจว่าจะใช้การจัดทำดัชนีเอกสารน้ำหนักเบา (เช่นคำอธิบายในคำตอบของคำถามอื่น ) หรือใช้ SQL ต่อไปในสถานการณ์เหล่านี้