Skip to content

Feature Search vi

SkimMail docs edited this page Sep 15, 2026 · 3 revisions

English · Tiếng Việt · 中文

Tìm kiếm

SkimMail tìm theo hai tầng. Cache là index full-text tại chỗ và trả lời tức thì. Máy chủ thì hỏi thêm mail server của bạn, chậm hơn nhưng tìm được cả thư SkimMail chưa bao giờ tải về. Bạn chọn giữa hai tầng bằng hai tab ngay dưới ô tìm kiếm.

Từ 1.13.0, tìm kiếm chỉ trả về thư của chính bạn, và chọn Máy chủ ở hộp thư hợp nhất sẽ nói rõ nó cần gì thay vì lặng lẽ trả lời một câu hỏi khác. 1.14.0 mới làm nốt phần còn lại: 1.13.0 giới hạn cái mà tầng máy chủ trả về, không giới hạn cái nó làm — xem bên dưới.

Cache — mặc định

Mọi lá thư SkimMail đã sync đều nằm trong một index full-text tại chỗ. Gõ vào ô tìm kiếm là truy vấn index đó và không có gì rời khỏi máy.

Nó so khớp những gì:

  • tiêu đề và địa chỉ người gửi, và không gì khác. Nội dung thư không được đánh index — index có sẵn một cột cho nội dung và SkimMail cố ý ghi rỗng — nên tìm một cụm từ bạn nhớ ở trong ruột lá thư sẽ không ra.
  • tiền tố của từ. hoa khớp hoadon; gõ thêm từ thì thu hẹp kết quả, vì mọi từ đều phải khớp.

Danh sách kết quả giới hạn ở 200 thư, mới nhất trước.

Toán tử tag:

Có từ 1.16.0.tag: theo sau là tên một tag để lọc theo nó — tag:finance, hay tag:finance invoice để tìm bên trong một tag, hay tag:"to read" nếu tag có khoảng trắng. Một tag: trơ trọi không có gì theo sau được để nguyên như văn bản thường, nên nó không xoá bộ lọc của bạn ngay giữa lúc bạn đang gõ.

Nó được phân tích ngay trong trình duyệt, trước khi truy vấn tới server, vì bộ tokenizer của server tự bóc hết dấu câu — gửi nguyên văn, tag:finance sẽ tới index dưới dạng hai từ thường chẳng khớp gì cả, chứ không phải một lỗi. Đó cũng là lý do nó là toán tử duy nhất: không có from:, không có has:, không có before: ở đây, và thêm một cái là một quyết định sản phẩm chưa đưa ra, không phải một thiếu sót.

Dùng nó làm đúng việc bấm vào một chip tag: nó đặt bộ lọc tag vốn đã có từ 1.4.1. tag:finance đứng một mình — không có chữ nào khác — là một bộ lọc, không phải một lượt tìm kiếm, và trả về đúng danh sách mà chip đó trả về. Gõ thêm chữ bên cạnh nó là tìm bên trong tập đã lọc đó, ở cả hai tầng. Chip tag giờ vẫn hiện trên thanh công cụ trong lúc bạn tìm kiếm, nên một bộ lọc không còn thể thu hẹp kết quả mà bạn không thấy vì sao. Xem Tag để biết tag là gì và được gắn ra sao.

Máy chủ — mỗi lần một hộp thư

Bấm tab Máy chủ thì SkimMail hỏi thêm chính mail server, nơi biết cả những thư cũ hơn hoặc nằm ngoài cửa sổ sync tại chỗ của bạn.

  • Nó chỉ tìm trong INBOX của tài khoản đó.
  • Những header khớp được tải về cache, nên sau đó chúng hoạt động như mọi lá thư khác, và những dòng thực sự mới được gắn nhãn TỪ MÁY CHỦ trong danh sách kết quả.
  • Nếu lượt tìm phía provider thất bại — tài khoản offline, egress hỏng, server không hỗ trợ truy vấn — thất bại đó chỉ được ghi log và bạn vẫn nhận kết quả từ cache. Nó xuống cấp chứ không báo lỗi.

Nó cần đúng một tài khoản. Tìm phía máy chủ trên một hộp thư hợp nhất nghĩa là mỗi hộp thư một kết nối, nên SkimMail không làm.

Tới tận 1.13.0, ở hộp thư hợp nhất tab đó vẫn trông như đang hoạt động và lặng lẽ chỉ trả kết quả từ cache. Giờ nó hiện một thông báo — "Tìm trên máy chủ chạy từng hộp thư một, nên hộp thư hợp nhất không dùng được. Chọn một tài khoản, tìm kiếm này sẽ chạy lại ở đó:" — kèm mỗi tài khoản một nút. Bấm một nút là chuyển sang tài khoản đó và chạy lại đúng câu truy vấn ở chế độ máy chủ.

Tìm kiếm theo từng user — 1.13.0 cho kết quả, 1.14.0 cho kết nối

Trên instance nhiều người dùng trước 1.13.0, ô tìm kiếm trả về kết quả từ mọi tài khoản trên server: tiêu đề, địa chỉ người gửi, dòng preview và mọi bản tóm tắt AI đã cache. Bất kỳ ai đăng nhập được đều đọc được, kể cả viewer là vai trò thấp nhất — và chỉ cần ghi id tài khoản của người khác vào request là nhắm được vào đúng hộp thư của một người cụ thể.

1.13.0 ràng buộc cả hai nửa của truy vấn — index được phép trả về thư nào, và sau đó dòng nào được nạp — về đúng các tài khoản mà người hỏi sở hữu.

Nhưng đó là sửa cái route TRẢ VỀ, không phải cái route LÀM. Tầng Máy chủ không chỉ đọc index: nó mở kết nối IMAP của tài khoản được nêu tên, bằng chính mật khẩu đã lưu và đường mạng của tài khoản ấy, chạy chuỗi tìm kiếm của bạn trên hộp thư thật, rồi ghi các header lấy về vào cơ sở dữ liệu. Tới tận 1.14.0, đường đó vẫn nhận id tài khoản thẳng từ request mà không kiểm. Kết quả không quay về tay người gọi — 1.13.0 đã giới hạn truy vấn index rồi — nhưng kết nối vẫn được mở và các dòng vẫn được ghi, dưới danh nghĩa người khác. Nút Test connection của tài khoản cũng cùng một hình dạng. Cả hai đã vá ở 1.14.0.

Instance một người dùng chưa bao giờ bị ảnh hưởng; không có hộp thư của ai khác để mở. Nếu instance của bạn có nhiều hơn một người đăng nhập thì hãy ở 1.14.0. Xem Người dùng và phân quyền.

Giới hạn

Tầng cache tìm trong tiêu đề + địa chỉ người gửi
Tầng máy chủ tìm trong INBOX của tài khoản, qua provider
Trần kết quả 200
Cú pháp truy vấn các từ được khớp theo tiền tố và AND với nhau; toán tử duy nhất là tag: (1.16.0), cần dấu nháy nếu tag có khoảng trắng
Phạm vi chỉ tài khoản của chính bạn — kết quả từ 1.13.0, bản thân kết nối tới nhà cung cấp từ 1.14.0
  • Không tìm nội dung thư, không tìm nội dung file đính kèm, không tìm cả tên file đính kèm.
  • Không có bộ lọc nào khác ngoài tag:. Không from:, không khoảng ngày, không "chỉ chưa đọc", không tuỳ chọn sắp xếp.
  • Thư bị mute và thư tạm ẩn vẫn được tính. Hộp thư đến giấu cả hai; tìm kiếm trả lời đúng câu bạn hỏi. Xem Người gửi mute và VIP.
  • Full-text search chạy khác trên MySQL so với SQLite và Postgres. MySQL được gắn nhãn Experimental trong setup wizard, và đây là một trong các lý do. Xem Cấu hình.
  • Một lượt tìm phía máy chủ có ghi vào cache của bạn. Header khớp được lưu lại, chính điều đó khiến chúng xuất hiện ở các danh sách thường sau đó; đổi lại nó tốn một kết nối tới provider.

Nó không làm gì

  • Ở tab Cache, nó không tìm những gì bạn chưa sync. Đó là việc của tab Máy chủ, và chỉ cho INBOX của một tài khoản.
  • Ở tầng máy chủ, nó không tìm thư mục nào ngoài INBOX, dù tầng cache vẫn trả kết quả từ mọi thư mục nó có.
  • Nó không lưu truy vấn, và không có lịch sử tìm kiếm.
  • Nó không xếp theo độ liên quan. Kết quả luôn là mới nhất trước.

Xem thêm

  • Đã gắn sao — cách còn lại để quay về một lá thư bạn nhớ là đã đánh dấu
  • Tag — tag là gì, và toán tử tag: đặt cùng một bộ lọc như khi bấm vào một chip
  • Người dùng và phân quyền — ranh giới theo user mà tìm kiếm giờ đã tôn trọng
  • Cấu hìnhSYNC_DEPTH_DAYS và các dialect database

SkimMail · skimmail@base101.app · 2026-09-15 · commit 767741a

Clone this wiki locally