การพัฒนาของเสิร์ชเอนจิน Marginalia
- Marginalia Search ตอนเริ่มต้นเป็นการทดลองเล็ก ๆ แต่ตอนนี้กลายเป็นโปรเจกต์ที่ทำเต็มเวลาแล้ว
- เสิร์ชเอนจินทำงานได้ดีที่สุดเท่าที่เคยเป็นมา และบรรลุหมุดหมายสำคัญหลายอย่าง
- เสิร์ชเอนจินได้ย้ายออกจากห้องนั่งเล่นไปยังเซิร์ฟเวอร์ระดับองค์กรที่เหมาะสม
การจัดระเบียบโค้ดเบสและทำให้แอปพลิเคชันกระชับขึ้น
- ประเด็นหลักของปีนี้คือการจัดระเบียบโค้ดเบสและทำให้แอปพลิเคชันกระชับขึ้น
- มุ่งเน้นการรักษาภาระด้านปฏิบัติการให้อยู่ในระดับที่จัดการได้ และทำให้ผู้อื่นเข้าถึงแอปพลิเคชันและโค้ดเบสได้ง่ายขึ้น
- ต้องใช้ความพยายามอย่างมาก แต่ตอนนี้เริ่มเห็นผลลัพธ์แล้ว
การปรับปรุงการปฏิบัติการ
- ในอดีต การสลับดัชนีต้องหยุดให้บริการหลายวัน แต่ตอนนี้ไม่มีอีกแล้ว
- ช่วงหลังมานี้ยังสามารถอัปเกรดแบบ zero downtime ได้ด้วย
- สิ่งที่ในมุมการปฏิบัติการเคยต้องใช้กระบวนการแบบแมนนวลหลายสัปดาห์ ตอนนี้ถูกแทนที่ด้วยการกดปุ่มใน GUI
เพิ่มการรองรับคีย์เวิร์ดใน anchor text
- การเพิ่มการรองรับคีย์เวิร์ดใน anchor text ส่งผลอย่างมากต่อความสามารถของเสิร์ชเอนจินในการค้นหาผลลัพธ์ที่เกี่ยวข้อง
- ตอนที่มีการเปลี่ยนแปลงครั้งแรก มันยังผสานเข้ากันได้ไม่ดีจึงไม่เห็นผลชัดทันที แต่เมื่อสัญญาณด้านความเกี่ยวข้องใหม่เริ่มเข้าที่ ก็เกิดช่วงเวลาที่น่าทึ่งขึ้น
การเปลี่ยนมาทำเต็มเวลา
- ด้วยการสนับสนุนจาก NLnet จึงเปลี่ยนมาทำโปรเจกต์นี้เต็มเวลาตั้งแต่ประมาณ 8 เดือนก่อน
- ส่วนที่ยากที่สุดคือการไม่ทำงานมากเกินไป และพยายามหยุดพักอย่างน้อยสัปดาห์ละ 1 วัน
- เพราะรู้ว่าตัวเองคิดได้ดีขึ้นเมื่อได้พักผ่อนเพียงพอ ในทางทฤษฎีแล้วการหยุดพักเป็นครั้งคราวจึงสำคัญเพื่อให้ทำงานได้ดีขึ้น
เป้าหมายการทำดัชนีเอกสาร 1 พันล้านรายการ
- การเดินทางสู่เป้าหมายการทำดัชนีเอกสาร 1 พันล้านรายการกำลังคืบหน้าอย่างช้า ๆ
- ไม่ใช่เพราะซอฟต์แวร์รองรับไม่ไหว แต่เพราะอัตราส่วนสัญญาณต่อสัญญาณรบกวนของเว็บไม่ดี จึงยากกว่าที่คาดไว้
- หนึ่งในเหตุผลสำคัญที่ทำให้เสิร์ชเอนจินทำงานได้ค่อนข้างดี คือสิ่งที่มันเลือกจะไม่ทำดัชนี
- เมื่อ 1 ปีก่อน ดัชนีมีอยู่ระหว่าง 50 ล้านถึง 100 ล้านเอกสาร แต่ในการครอว์ลครั้งล่าสุดเพิ่มเป็น 220 ล้าน และคาดว่าเมื่อรอบการครอว์ลถัดไปจบลงจะอยู่ที่ราว 290 ล้านถึง 300 ล้าน
การปรับปรุงการพาร์สและการรันคิวรี
- ยังมีพื้นที่ให้ปรับปรุงอีกมากในด้านการพาร์สและการรันคิวรี
- ได้เริ่มงานเตรียมการเพื่อจัดระเบียบโค้ดที่ได้รับผลกระทบก่อนที่งานจริงจะเริ่มต้น
- การก้าวกระโดดครั้งใหญ่ของโปรเจกต์มักเกิดจากการทดลองเสมอ แม้จะมีสิ่งที่วางแผนไว้ แต่สิ่งที่ไม่ได้วางแผนดูเหมือนจะเป็นตัวที่สร้างผลกระทบอย่างแท้จริง
คำขอบคุณ
- ขอขอบคุณ NLnet, FUTO, ผู้สนับสนุนผ่าน Patreon, ผู้ผลักดัน และผู้ใช้งาน
- หากไม่มีการสนับสนุนจากพวกเขา ทั้งหมดนี้ก็คงเป็นไปไม่ได้
ความเห็นของ GN⁺
- เสิร์ชเอนจิน Marginalia เป็นตัวอย่างของโปรเจกต์ที่เริ่มจากการทดลองเล็ก ๆ และเติบโตเป็นโปรเจกต์เต็มเวลาผ่านการปรับปรุงอย่างต่อเนื่องและการสนับสนุนจากชุมชน
- การปรับปรุงด้านฟังก์ชันอย่างการรองรับคีย์เวิร์ดใน anchor text เป็นการเปลี่ยนแปลงสำคัญที่ช่วยยกระดับประสิทธิภาพของเสิร์ชเอนจินอย่างมาก
- โปรเจกต์นี้เปิดโอกาสให้ชุมชนโอเพนซอร์สและนักพัฒนาได้ร่วมมือและมีส่วนร่วม พร้อมทั้งช่วยผลักดันความก้าวหน้าของเทคโนโลยีเสิร์ชเอนจิน
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
transformers intuitionโดยผลลัพธ์จากเสิร์ชเอนจินนี้ยอดเยี่ยมมาก ขณะที่ผลลัพธ์ของ Google แสดงแต่เว็บไซต์ที่ทำ SEO มาอย่างหนัก (ส่วนใหญ่คือ Medium) และเว็บไซต์ฉูดฉาดที่มีเนื้อหาด้อยกว่าrandom sitesโดยคาดหวังว่าจะเป็นการสุ่มตัวอย่างแบบสม่ำเสมอ แต่รู้สึกว่าเว็บไซต์บางแห่งถูกส่งกลับมาซ้ำ ๆ