Skip to main content

Module deduplicate

Module deduplicate 

Source
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§

DedupeQuery
Query parameters for finding duplicates.
DedupeReport
Report from a deduplication operation.
DeduplicateEngine
Deduplication workflow engine.
DuplicateGroup
A group of duplicate notes.

Enums§

KeepStrategy
Strategy for which duplicate to keep.