Expand description
Duplicate note detection and removal.
This module provides workflows for finding and removing duplicate notes based on a key field.
§Example
use ankit_engine::Engine;
use ankit_engine::deduplicate::{DedupeQuery, KeepStrategy};
let engine = Engine::new();
// Find duplicates based on the "Front" field
let query = DedupeQuery {
search: "deck:Japanese".to_string(),
key_field: "Front".to_string(),
keep: KeepStrategy::First,
};
let groups = engine.deduplicate().find_duplicates(&query).await?;
println!("Found {} duplicate groups", groups.len());
// Remove duplicates (keeps the first, deletes the rest)
let report = engine.deduplicate().remove_duplicates(&query).await?;
println!("Deleted {} duplicate notes", report.deleted);Structs§
- Dedupe
Query - Query parameters for finding duplicates.
- Dedupe
Report - Report from a deduplication operation.
- Deduplicate
Engine - Deduplication workflow engine.
- Duplicate
Group - A group of duplicate notes.
Enums§
- Keep
Strategy - Strategy for which duplicate to keep.