เครื่องมือค้นหาที่ไม่ต้องใช้ฐานข้อมูลน้ำหนักเบา ออกแบบมาเพื่อมอบความสามารถในการค้นหาที่รวดเร็วและมีประสิทธิภาพสำหรับเนื้อหาคงที่ (ไฟล์ HTML, TXT, MD) และบันทึกย่อแบบไดนามิก โปรเจ็กต์นี้ปรับปรุงประสบการณ์ผู้ใช้ด้วยระบบแคชฝั่งไคลเอ็นต์ที่เร่งความเร็วในการเรียกค้น ลดภาระของเซิร์ฟเวอร์ และนำเสนอฟังก์ชันออฟไลน์ผ่านพนักงานบริการ
เครื่องมือค้นหาที่ใช้แคชฝั่งไคลเอ็นต์
1. หน้าจอหลัก
2. ผลการค้นหา
3. การเข้าถึงแบบออฟไลน์
4. คุณสมบัติการจดบันทึก
การตั้งค่าไดเรกทอรีแคช
การหมดอายุของแคช
สารบัญ
ภาพรวม
คุณสมบัติ
มันทำงานอย่างไร
สถาปัตยกรรมระบบ
การติดตั้ง
การใช้งาน
การกำหนดค่า
ภาพหน้าจอ
การปรับปรุงในอนาคต
ใบอนุญาต
เครื่องมือค้นหาที่ใช้แคชฝั่งไคลเอ็นต์มี จุดมุ่งหมายเพื่อแก้ไขปัญหาเวลาในการเรียกข้อมูลช้าในระบบที่ขับเคลื่อนด้วยฐานข้อมูลแบบเดิม โดยเฉพาะอย่างยิ่งสำหรับแอปพลิเคชันขนาดเล็ก ด้วยการใช้ประโยชน์จากเทคนิคการแคชฝั่งไคลเอ็นต์ โปรเจ็กต์นี้ช่วยให้สามารถเข้าถึงเนื้อหาคงที่และบันทึกย่อที่ผู้ใช้สร้างขึ้นได้อย่างรวดเร็ว โดยไม่จำเป็นต้องสืบค้นเซิร์ฟเวอร์ซ้ำหรือตั้งค่าฐานข้อมูลที่ซับซ้อน นอกจากนี้ยังมีความสามารถในการค้นหาแบบออฟไลน์ ช่วยให้ผู้ใช้สามารถเข้าถึงไฟล์และบันทึกที่ใช้บ่อยได้โดยไม่ต้องเชื่อมต่อเครือข่าย
ค้นหาอย่างรวดเร็ว : จัดทำดัชนีและดึงเนื้อหาอย่างรวดเร็วจากไฟล์คงที่ในเครื่อง (HTML, TXT, MD) และบันทึกย่อที่ผู้ใช้สร้างขึ้น
การแคชฝั่งไคลเอ็นต์ : ไฟล์ที่เข้าถึงบ่อยจะถูกแคชไว้ในเครื่อง ช่วยลดเวลาในการโหลดและลดคำขอของเซิร์ฟเวอร์ให้เหลือน้อยที่สุด
การเข้าถึงแบบออฟไลน์ : พนักงานบริการแบบรวมช่วยให้ผู้ใช้สามารถค้นหาและเข้าถึงไฟล์และบันทึกย่อขณะออฟไลน์
การจัดการบันทึก : รวมแอปพลิเคชันจดบันทึกที่เรียบง่าย ช่วยให้ผู้ใช้สามารถสร้าง แก้ไข และบันทึกบันทึก ซึ่งแคชไว้เพื่อการเรียกค้นที่รวดเร็วเช่นกัน
การทำดัชนีไฟล์ : ไฟล์ในไดเร็กทอรีที่กำหนดจะถูกสร้างดัชนีเมื่อค้นหาครั้งแรกและแคชไว้เพื่อให้เข้าถึงได้รวดเร็วยิ่งขึ้น
การแคชฝั่งไคลเอ็นต์ : เนื้อหาที่จัดทำดัชนีจะถูกจัดเก็บไว้ในแคช ช่วยให้เครื่องมือค้นหาสามารถข้ามการอ่านไฟล์สำหรับไฟล์ที่เข้าถึงบ่อยได้
พนักงานบริการ : พนักงานบริการแคชไฟล์สำคัญและให้การสนับสนุนออฟไลน์ ทำให้บันทึกและเนื้อหาคงที่พร้อมใช้งานโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต
การเรียกข้อมูลตามเวลาจริง : บันทึกแบบไดนามิกจะถูกแคชทันทีหลังจากสร้าง ทำให้สามารถเข้าถึงได้ทันทีทั้งออนไลน์และออฟไลน์
ระบบได้รับการออกแบบโดยใช้แคชฝั่งไคลเอ็นต์และโมเดลพนักงานบริการ ทำให้ไม่ต้องใช้ฐานข้อมูล นี่คือสถาปัตยกรรมที่เรียบง่าย:
กราฟ TD
UI[อินเทอร์เฟซผู้ใช้] -->|คำขอค้นหา| โปรแกรมค้นหา
SearchEngine -->|โดนแคช?| แคช
แคช -->|ใช่| RetrieveFromCache[ดึงข้อมูลจากแคช]
RetrieveFromCache -> DisplayResults
SearchEngine -->|ไม่ใช่| ReadFile[อ่านไฟล์จากไดเร็กทอรี]
ReadFile -> IndexContent [ดัชนีและเนื้อหาแคช]
IndexContent -> แคช
IndexContent --> DisplayResults [แสดงผลลัพธ์]
ServiceWorker [พนักงานบริการ] -> การสนับสนุนออฟไลน์
หมายเหตุ [ที่เก็บข้อมูลบันทึกย่อ] -> แคช
หมายเหตุ -> พนักงานบริการ
กำลังโหลดทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าโครงการในเครื่อง:
โคลนพื้นที่เก็บข้อมูล
โคลนคอมไพล์ https://github.com/vansh-codes/Client-Side-Cache-Based-Search-Engine.git
นำทางไปยังไดเรกทอรี
cd Client-Side-Cache-Based-Search-Engine
ตั้งค่า XAMPP หรือเซิร์ฟเวอร์ PHP ภายในเครื่อง
วางโปรเจ็กต์ไว้ในไดเร็กทอรี XAMPP ที่เหมาะสม (เช่น C:/xampp/htdocs/
)
เริ่มต้นเซิร์ฟเวอร์ Apache
เข้าถึงโครงการ เปิดเบราว์เซอร์ของคุณแล้วไปที่ http://localhost/Client-Side-Cache-Based-Search-Engine
ค้นหาเนื้อหา : ใช้แถบค้นหาเพื่อค้นหาคำสำคัญภายในไฟล์และบันทึกย่อที่จัดทำดัชนี
การจดบันทึก : สร้างและบันทึกบันทึก ซึ่งจะถูกแคชไว้เพื่อให้เข้าถึงได้รวดเร็วและพร้อมใช้งานแบบออฟไลน์
การเข้าถึงแบบออฟไลน์ : หลังจากการเข้าถึงครั้งแรก ไฟล์และบันทึกย่อจะสามารถเข้าถึงแบบออฟไลน์ได้โดยใช้พนักงานบริการ
ตั้งค่าเส้นทางไดเร็กทอรีสำหรับเนื้อหาและการจัดเก็บบันทึกย่อในไฟล์คอนฟิกูเรชัน:
CACHE_DIR
: เส้นทางในการจัดเก็บไฟล์แคช
โฟลเดอร์เนื้อหา : แก้ไขเส้นทางสำหรับไฟล์คงที่ภายใต้ไดเร็กทอรี content/
โฟลเดอร์ Notes : แก้ไขเส้นทางสำหรับบันทึกย่อแบบไดนามิกภายใต้ไดเร็กทอรี notes/
ปรับการตั้งค่าการหมดอายุของแคชเพื่อล้างไฟล์ที่ล้าสมัยและรีเฟรชเนื้อหาตามต้องการ
ความสามารถในการค้นหาขั้นสูง : ใช้การค้นหาแบบคลุมเครือและการเน้นคำหลักเพื่อการค้นหาที่ใช้งานง่ายยิ่งขึ้น
การจัดการแคชที่ได้รับการปรับปรุง : แนะนำนโยบายการหมดอายุของแคชเพื่อการจัดการพื้นที่เก็บข้อมูลที่ดีขึ้น
การจดบันทึกหลายรูปแบบ : รองรับรูปแบบบันทึกเพิ่มเติม (TXT, MD, HTML) และแคชโดยอัตโนมัติเพื่อการเรียกค้นที่รวดเร็วยิ่งขึ้น
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
เพลิดเพลินกับการค้นหาที่รวดเร็ว มีประสิทธิภาพ และใช้งานแบบออฟไลน์ได้!