AOSSIE-Org / AOSSIE-Org/PictoPy

Feat: Implement Incremental Indexing Engine for Scalable Library Management

未关闭
#1,186 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
283
派生
679
平均合并
7 天 2 小时
30 天内合并 PR
3

描述

## 🚀 Problem

Currently, library rescans may reprocess many or all images, even if they haven't changed.
For large libraries (10k+ images), this leads to:

- Slow refresh times
- Unnecessary ML reprocessing
- High CPU usage
- Poor scalability

There is no reliable mechanism to detect:
- Newly added files
- Modified files
- Deleted files
- Unchanged files

---

## 💡 Proposed Solution

Implement a true **Incremental Indexing Engine** that:

- Stores file metadata (e.g., path, size, last modified time, optional hash)
- Processes only new or modified files
- Skips unchanged files
- Removes deleted files from the database
- Cleans associated embeddings and thumbnails

---

## 🎯 Expected Benefits

- Significant performance improvement for large libraries
- Reduced redundant ML inference
- Better database consistency
- Production-grade scalability

---

## 🛠️ Implementation Overview

1. Extend image table schema to store file metadata
2. Add comparison logic during rescans
3. Update indexing pipeline to process only changed files
4. Handle cleanup for deleted files

---

## 🧪 Acceptance Criteria

- Only new/modified files are processed during rescan
- Deleted files are removed from DB
- No redundant ML processing occurs
- Works reliably on large datasets (10k+ images)

---

## 🙋 I would like to work on this issue.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。