
เรามีช่วงเวลาในชีวิตเสมอเมื่อเรารีบค้นหาเอกสาร แต่เอกสารนั้นถูกฝังอยู่ที่ไหนสักแห่งในโฟลเดอร์ดาวน์โหลดและเราไม่เคยได้รับทันเวลา การค้นหาไฟล์ในโฟลเดอร์ดาวน์โหลด เอกสาร และ OneDrive ถือเป็นงานที่น่าเบื่อเสมอ
เมื่อเวลาผ่านไป โฟลเดอร์ Downloads ของฉันได้กลายเป็นหนึ่งในโฟลเดอร์ที่ใหญ่ที่สุดในระบบของฉัน ไม่ใช่ตามขนาด แต่ตามจำนวนไฟล์ที่อยู่ภายใน ในแต่ละวัน ฉันจะดาวน์โหลดรูปภาพ PDF และไฟล์อื่นๆ ที่เกี่ยวข้องกับงาน ในช่วงเย็น รายการจะเพิ่มขึ้นจนทำให้การค้นหาสิ่งที่ดาวน์โหลดมาก่อนหน้านี้ทำได้ยาก
Windows Search ควรจะทำให้กระบวนการค้นหาไฟล์ง่ายขึ้น แต่มันทำงานในลักษณะที่แปลก บางครั้งก็พบไฟล์ที่ฉันต้องการทันที บางทีก็ค้นหาไปเรื่อยๆแต่ก็ไม่เจอจริงๆ ผลลัพธ์ที่ได้ไม่สอดคล้องกันเสมอไป
ความไม่สอดคล้องกันและความหงุดหงิดทำให้ฉันสงสัยว่าการค้นหาไฟล์ทำงานอย่างไร ในที่สุดความอยากรู้อยากเห็นนี้ทำให้ฉันลองทำอะไรที่แตกต่างออกไปซึ่งแทนที่ Windows Search ด้วยระบบที่ฉันสร้างขึ้นเอง

ที่เกี่ยวข้อง
Local Whisper ถอดเสียงการประชุมที่ใช้เวลานานเป็นชั่วโมงในไม่กี่นาทีโดยไม่ต้องส่งคำใด ๆ ไปยังเซิร์ฟเวอร์ใด ๆ
ฮาร์ดแวร์สมัยใหม่ทำให้ AI ในท้องถิ่นใช้งานได้จริงอย่างน่าประหลาดใจ
เมื่อการค้นหาของ Windows หยุดมีประโยชน์
เมื่อการค้นหาหยุดความน่าเชื่อถือ

Windows Search ทำงานไม่สอดคล้องกัน โดยปกติแล้ว การพิมพ์ตัวอักษรสองสามตัวบนแถบค้นหาก็เพียงพอแล้วที่จะค้นหาไฟล์ ระบบปฏิบัติการได้รับการออกแบบมาให้ทำเช่นนั้น แต่ Windows Search ไม่เคยให้ผลลัพธ์ที่สม่ำเสมอ บางครั้งผลการค้นหาจะปรากฏขึ้นทันที ในบางครั้งอาจใช้เวลานานเกินไปหรือไม่พบไฟล์เลย เมื่อเวลาผ่านไป เมื่อขนาดโฟลเดอร์ใหญ่ขึ้น การได้รับผลลัพธ์ที่เชื่อถือได้ก็จะยากขึ้น
ในตารางประจำวันของฉัน ฉันจัดการกับไฟล์ประเภทต่างๆ เช่น รูปภาพ ภาพหน้าจอ PDF และไฟล์โครงการ จำนวนสามารถเติบโตได้อย่างรวดเร็ว บางครั้งเมื่อสิ้นวัน จำนวนก็อาจถึงหลายร้อยไฟล์ การค้นหาไฟล์ที่ดาวน์โหลดมาเมื่อสองสามวันก่อนด้วยตนเองกลายเป็นเรื่องที่เป็นไปไม่ได้ ฉันต้องพึ่งพา Windows Search เพื่อค้นหา สำหรับไฟล์ล่าสุดต้องรอการจัดทำดัชนี บางครั้งฉันต้องค้นหามากกว่าหนึ่งครั้งจึงจะพบ พูดง่ายๆ ก็คือฉันได้ลองแก้ไขตามปกติทั้งหมดแล้ว แต่ความไม่สอดคล้องกันนั้นก็จะสม่ำเสมออยู่เสมอ
สุดท้าย แทนที่จะพยายามแก้ไขปัญหา Windows Search อีกครั้ง ฉันใช้เส้นทางอื่นและเริ่มสงสัยว่าปัญหาเกิดจากระบบการค้นหาเองหรือไม่
เปลี่ยนเซิร์ฟเวอร์ Debian ขนาดเล็กให้เป็นสมองแห่งการค้นหา
เซิร์ฟเวอร์เล็กๆ ตัวเดียวเปลี่ยนแปลงทุกอย่าง

ในขณะที่ค้นคว้าเครื่องมือค้นหาต่างๆ สิ่งหนึ่งที่ฉันสังเกตเห็นก็คือเครื่องมือค้นหาต้องอาศัยไฟล์การจัดทำดัชนี ตัวสร้างดัชนีเป็นหัวใจของเครื่องมือค้นหา และไม่เชื่อมโยงกับระบบปฏิบัติการใดๆ โดยเฉพาะ แม้แต่เซิร์ฟเวอร์ขนาดเล็กก็สามารถทำงานเดียวกันได้ การตระหนักรู้ดังกล่าวเป็นแรงบันดาลใจให้ฉันสร้างตัวสร้างดัชนีแบบกำหนดเอง
ฉันเป็นเจ้าของเซิร์ฟเวอร์โฮมแล็บ มันทำงานบน Debian แบบ Bare Metal และอะไรจะดีไปกว่าการสร้างการตั้งค่าสำหรับตัวสร้างดัชนีมากกว่าเซิร์ฟเวอร์ Linux? เซิร์ฟเวอร์มีทรัพยากรเพียงพอที่จะโฮสต์ตัวทำดัชนีแบบไลท์เวท หน้าที่เดียวคือโฮสต์ตัวสร้างดัชนี ไฟล์จะยังคงอยู่ใน Windows PC ในขณะที่โฟลเดอร์ติดตั้งบนเซิร์ฟเวอร์โดยใช้ SMB เซิร์ฟเวอร์จะสแกนเท่านั้น
ฉันสร้างสคริปต์ Python ขนาดเล็กที่สแกนโฟลเดอร์ บันทึกชื่อไฟล์ และจัดเก็บข้อมูลเมตา เช่น ชื่อ เส้นทาง และตำแหน่ง ฉันตั้งค่างาน cron แบบง่าย ๆ เพื่อรันสคริปต์ Python ทุก ๆ 10 นาทีเพื่อสร้างดัชนีไฟล์ใหม่ แม้ว่าจะมีโซลูชันขั้นสูงให้เลือกใช้มากขึ้น เช่น การจัดทำดัชนีส่วนเพิ่มและการเฝ้าดูไฟล์แบบเรียลไทม์ เช่น inotify และ fswatch วิธีการเหล่านี้มีประโยชน์มากกว่าในสภาพแวดล้อมที่ใหญ่กว่า
import osimport reimport meilisearchclient = meilisearch.Client("http://127.0.0.1:7700")index = client.index("files")# Scanning mounted SMB paths for metadatafor base_path in "/mnt/windows/Downloads", "/mnt/windows/Documents":
for root, dirs, files in os.walk(base_path):
docs = {
"id": re.sub(r'[^a-zA-Z0-9_-', '_', os.path.join(root, f)),
"name": f,
"path": os.path.join(root, f),
"folder": root
} for f in files]
# Batch upload to Meilisearch
index.add_documents(docs)
ในที่สุด ฉันติดตั้ง Meilisearch ซึ่งเป็นเครื่องมือค้นหาขนาดเล็กที่ทำงานใน Docker เพื่อจัดเก็บข้อมูลเมตาที่จัดทำดัชนีไว้ ได้รับการออกแบบมาเพื่อการค้นหาที่รวดเร็วและเป็นโซลูชันที่ใช้งานได้จริงสำหรับสภาพแวดล้อมในบ้าน เมื่อถึงจุดนั้น ฉันมีดัชนีไฟล์ที่ใช้งานได้และเครื่องมือค้นหา สิ่งที่ฉันต้องการคือวิธีที่ทันสมัยและเรียบง่ายในการใช้งานจริง
การสร้างอินเทอร์เฟซการค้นหาที่ให้ความรู้สึกรวดเร็วจริงๆ
อินเทอร์เฟซที่ทำให้ใช้งานได้
ในทางเทคนิคแล้ว ฉันมีแบ็กเอนด์ที่ใช้งานได้กับ API ที่เปิดเผยโดย Meilisearch แล้ว สิ่งที่ฉันต้องการคืออินเทอร์เฟซสำหรับโต้ตอบกับเครื่องมือค้นหา ซึ่งเป็นสิ่งที่มีน้ำหนักเบา ทันสมัย และใช้งานง่าย
หากคุณคุ้นเคยกับโปรเจ็กต์ก่อนหน้าของฉัน คุณอาจรู้ว่าฉันเป็นแฟนตัวยงของแอปพลิเคชัน React เมื่อใช้ร่วมกับ Vite และ Tailwind ฉันสามารถสร้างอินเทอร์เฟซที่ทันสมัยได้ภายในไม่ถึงหนึ่งชั่วโมง ฉันเลือกกลุ่มเทคโนโลยีเดียวกันสำหรับอินเทอร์เฟซนี้ มันต้องการอินเทอร์เฟซที่ทันสมัยพร้อมแถบค้นหา ไม่มีอะไรมากหรือน้อยไปกว่านั้น
ดังที่ได้กล่าวไว้ก่อนหน้านี้ Meilisearch เปิดเผย API อย่างง่ายบนพอร์ต 7700 ฉันใช้มันเพื่อเชื่อมต่ออินเทอร์เฟซกับเครื่องมือค้นหา กระแสก็เรียบง่าย ฉันป้อนคำค้นหาในแถบค้นหา และแอปก็ส่งคำค้นหาไปที่ Meilisearch API ส่งคืนเส้นทางที่แน่นอนของไฟล์ที่ตรงกัน จากนั้นอินเทอร์เฟซจะแปลงเส้นทางที่เก็บไว้เป็นเส้นทางไฟล์ที่ใช้งานได้บนพีซีของฉัน
สมัครรับจดหมายข่าวเพื่อรับคำแนะนำในการค้นหาไฟล์และเครื่องมือ
รับบทช่วยสอนที่ใช้งานได้จริงและเจาะลึกเครื่องมือในการค้นหาไฟล์ในเครื่องอย่างรวดเร็ว: วิธีการจัดทำดัชนี การกำหนดค่า Meilisearch สคริปต์การจัดทำดัชนี Python และอินเทอร์เฟซ PWA แบบธรรมดา สมัครรับจดหมายข่าวเพื่อสำรวจและทำซ้ำการตั้งค่านี้
รับการอัปเดต
การสมัครแสดงว่าคุณตกลงที่จะรับจดหมายข่าวและอีเมลทางการตลาด และยอมรับข้อกำหนดการใช้งานและนโยบายความเป็นส่วนตัวของเรา คุณสามารถยกเลิกการสมัครได้ตลอดเวลา
เพื่อให้เข้าถึงได้ง่ายขึ้น ฉันจึงใช้ Progressive Web App (PWA) ตอนนี้ให้ประสบการณ์ที่เหมือนกับแอพดั้งเดิมมากขึ้น ตอนนี้ฉันสามารถปักหมุดแอปไว้ที่ทาสก์บาร์ของ Windows ได้แล้ว ทำให้สามารถเข้าถึงได้ในคลิกเดียว เมื่อถึงจุดนั้น มันกลายเป็นเครื่องมือที่ใช้งานได้จริงที่ฉันสามารถใช้ได้ทุกวัน
การค้นหาไฟล์ของฉันเป็นอย่างไรตอนนี้
ขณะนี้การค้นหาเกิดขึ้นในหน่วยมิลลิวินาที

เมื่อมองย้อนกลับไปที่ Windows Search เครื่องมือแบบกำหนดเองนี้เป็นการปรับปรุงที่สำคัญ เพียงคลิกเดียวจากทาสก์บาร์ ฉันสามารถเปิดเครื่องมือค้นหาได้ ฉันเริ่มพิมพ์ข้อความค้นหา และเริ่มค้นหาไฟล์ตั้งแต่อักษรตัวแรกเป็นต้นไป ผลลัพธ์จะปรากฏเกือบจะในทันที โดยส่วนใหญ่ภายในเวลาไม่กี่มิลลิวินาที
ผลลัพธ์จะส่งคืนข้อมูลที่เป็นประโยชน์ เช่น ชื่อไฟล์จริง เส้นทางไฟล์ และประเภทของไฟล์ นอกจากนี้ยังมีความสามารถในการเปิดไฟล์ในแอปเฉพาะอีกด้วย รูปภาพจะเปิดใน Windows Photos, PDF ในเบราว์เซอร์ และไฟล์ ZIP ใน File Explorer สิ่งที่เริ่มต้นจากการทดลองเล็กๆ กลายเป็นเครื่องมือที่ฉันพึ่งพาอยู่ทุกวัน

ที่เกี่ยวข้อง
ฉันสร้างแอป Python แบบเต็มโดยใช้เฉพาะ LLM ในเครื่องและ Model Context Protocol (MCP)
สถาปัตยกรรมมีชัยเหนือขนาด ทุกครั้ง.
การค้นหาที่สมเหตุสมผลในที่สุด
ความหงุดหงิดกับ Windows Search ทำให้ฉันสร้างสิ่งทดแทนขึ้นมาเอง ผลลัพธ์มีความน่าเชื่อถือมากกว่าที่ฉันคาดไว้ การทดลองทำความเข้าใจวิธีการทำงานของการจัดทำดัชนีการค้นหาได้เข้ามาแทนที่เครื่องมือค้นหาในตัวอย่างสมบูรณ์ สคริปต์ Python ขนาดเล็ก เสิร์ชเอ็นจิ้นขนาดเล็ก และอินเทอร์เฟซที่เรียบง่าย ล้วนสร้างความแตกต่างให้กับขั้นตอนการทำงานในแต่ละวันของฉัน แทนที่จะค้นหาผ่านโฟลเดอร์ต่างๆ ตอนนี้ฉันสามารถพึ่งพาระบบที่สามารถค้นหาสิ่งที่ฉันกำลังมองหาได้อย่างสม่ำเสมอ
*️⃣ ลิงค์ที่มา:
Local Whisper ถอดเสียงการประชุมที่ใช้เวลานานเป็นชั่วโมงในไม่กี่นาทีโดยไม่ต้องส่งคำไปยังเซิร์ฟเวอร์ใด ๆ ระบบปฏิบัติการได้รับการออกแบบ เครื่องมือค้นหาอาศัยไฟล์การจัดทำดัชนี ทำงานบน Bare-Metal Debian ติดตั้ง Meilisearch , , , , , ข้อกำหนดการใช้งาน , นโยบายความเป็นส่วนตัว ฉันสร้างแอป Python แบบเต็มโดยใช้เฉพาะ LLM ในเครื่องและ Model Context Protocol (MCP)