เครื่องมือค้นหาที่เรียบง่ายเกินไป - ทำให้เครื่องมือค้นหาง่ายขึ้น ??
การออกเสียง: "Oh-see"
เพื่อความสนุกสนาน! ฉันอยากเรียนรู้สนิมและในเวลานั้นฉันสนใจวิธีการทำงานของเครื่องมือค้นหาดังนั้นจึงไม่มีวิธีที่ดีกว่าในการบรรลุเป้าหมายทั้งสองมากกว่าโครงการนี้!
ที่เก็บนี้เป็น monorepo ที่เกิดขึ้นจากส่วนประกอบอิสระที่สร้างเครื่องมือค้นหา OSSE
$ nix develop
ติดตั้งสินค้าและลำต้นด้วยวิธีที่คุณต้องการ (เช่นตัวจัดการแพ็คเกจที่คุณชื่นชอบ)
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
เมื่อส่วนประกอบทั้งหมดทำงานแล้วคุณสามารถนำทางไปที่ 127.0.0.1:8080 บนเว็บเบราว์เซอร์ที่คุณชื่นชอบและเริ่มใช้ OSSE!
เครื่องมือค้นหา Osse ถูกแยกออกเป็นสามองค์ประกอบอิสระ:
ส่วนประกอบนี้ให้ทั้งการใช้งานของเครื่องมือดัชนีค้นหาจริงและ REST API ที่ใช้ในการค้นหาและเพิ่มทรัพยากรที่จัดทำดัชนี มันใช้ Actix Web สำหรับ REST API (ทำงานบนพอร์ต 4444) สำหรับการใช้งานโครงสร้างข้อมูลดัชนีจริงเราใช้ดัชนีย้อนกลับที่ง่ายมากที่ใช้กับ HASHMAP ดังนั้นทรัพยากรที่จัดทำดัชนีทั้งหมดจะสูญหายในปัจจุบันทุกครั้งที่มีการเริ่มต้นดัชนีใหม่
ส่วนประกอบนี้เป็นตัวรวบรวมข้อมูลแบบเรียกซ้ำแบบง่าย ๆ ที่ส่งต่อ HTML ดิบที่รวบรวมไว้ไปยังตัวทำดัชนี มันใช้ REQWEST สำหรับการดึงรายการเว็บไซต์รูทที่กำหนดไว้ล่วงหน้าและแยกวิเคราะห์ด้วยมีดโกนส่งเนื้อหาเว็บไซต์ไปยังตัวทำดัชนีและแยกลิงค์ทั้งหมดเพิ่มเข้าไปในคิวเว็บไซต์ที่จะถูกรวบรวมข้อมูล กระบวนการนี้คือ "ซ้ำ" ซ้ำ ๆ อย่างไม่มีกำหนด
ส่วนประกอบนี้เป็นเว็บอินเตอร์เฟสอย่างง่ายสำหรับตัวทำดัชนี ช่วยให้ผู้ใช้สามารถค้นหาและแสดงภาพผลลัพธ์ในวิธีที่ใช้งานง่าย ปัจจุบันมันถูกสร้างขึ้นโดยใช้ต้นยูซึ่งช่วยให้เราสามารถเขียนส่วนหน้าในสนิมและผลิต web-ui ที่ใช้ "เร็ว"
"หากคุณมีความคิดหรือแพตช์โปรดอย่าลังเลที่จะมีส่วนร่วมใน OSSE!"
ซอฟต์แวร์นี้ได้รับอนุญาตภายใต้ข้อ BSD-2-clause © Baitinq