Skip to content

False positive on strict search: translated editions matching English title queries #1

@a-asi

Description

@a-asi

When a book exists in a library's OverDrive catalog only as a translated edition, the strict search (title + author query) can return that edition as a match and report it as available.

Example: "The Ten Thousand Doors of January" by Alix E. Harrow shows as available to borrow at NYPL, but NYPL only holds the French edition ("Les dix mille portes de January"). The English eBook is not in their catalog.

Clarifying note: LibbyScout behaves correctly when the Goodreads page language matches the available edition. Searching from the French Goodreads page for the same title correctly surfaces the French edition's availability at NYPL, and correctly shows Unavailable at BPL and QPL, which don't hold the French edition. The bug only occurs when the Goodreads page is for an edition a library doesn't hold, and the API silently substitutes the closest available edition.

Root cause: Empirical testing suggests OverDrive's search treats the query as keywords rather than exact matches, returning translated editions when the author name and enough title words match and no closer direct match is available. The asymmetry is telling: searching with the English title returns the French edition, likely because the word "January" survives into the French title as a keyword anchor; the reverse search returns nothing, since the French keywords have no overlap with the English title. OverDrive's relevance ranking appears to behave unpredictably in cross-language edge cases.

Proposed fix (v1.1): Add title similarity validation to the strict search result before accepting it, using the same fuzzy matching logic already applied to author names in the fallback search. This approach is more inclusive than language tag validation, which would exclude bilingual users searching for non-English editions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions