[Enhancement]: Better matching #338

Open
opened 2026-04-24 23:05:15 +02:00 by adam · 1 comment
Owner

Originally created by @kaldigo on GitHub (May 5, 2022).

Describe the feature/enhancement

Currently, providers don't use identifiers but search based on name and sometimes author. It would be great if there was a way to store the identifier for the matched result. ISBN and ASIN already exist but it is not possible to easily add more for other providers.

A way to solve this would be to do a single field called identifiers and either do something like series where multiple can be added or have it in a simple format. The way caliber does it is that each identifier is separated by a comma (e.g. isbn:####, amazon:####, audible:####, goodreads:#### ).

This way each book will always match the same result from the provider. It would also be possible to easily refresh metadata and get data from multiple sources once matched. This would also allow you to filter books that have been matched.

The other issue with the current implementation multiple series and tags can't be added by providers. Multiple series could be handled easily by expecting an array from the provider with multiple objects like this { series: ####, volumeNumber:### }.

It would also be great if adding providers was easier. Acctualy adding one in source is easy but it would be good if it could be done dynamicly at runtime. Something like a plugin system for providers.

Originally created by @kaldigo on GitHub (May 5, 2022). ### Describe the feature/enhancement Currently, providers don't use identifiers but search based on name and sometimes author. It would be great if there was a way to store the identifier for the matched result. ISBN and ASIN already exist but it is not possible to easily add more for other providers. A way to solve this would be to do a single field called identifiers and either do something like series where multiple can be added or have it in a simple format. The way caliber does it is that each identifier is separated by a comma (e.g. isbn:####, amazon:####, audible:####, goodreads:#### ). This way each book will always match the same result from the provider. It would also be possible to easily refresh metadata and get data from multiple sources once matched. This would also allow you to filter books that have been matched. The other issue with the current implementation multiple series and tags can't be added by providers. Multiple series could be handled easily by expecting an array from the provider with multiple objects like this { series: ####, volumeNumber:### }. It would also be great if adding providers was easier. Acctualy adding one in source is easy but it would be good if it could be done dynamicly at runtime. Something like a plugin system for providers.
adam added the enhancement label 2026-04-24 23:05:15 +02:00
Author
Owner

@KaiStarkk commented on GitHub (Nov 8, 2023):

Plug-in idea sounds great.

I’d love to be able to match from a source that gives you the first published year of a book, rather than a random edition. All of my classics show up as being published in the 20th century.

Same goes for covers, which currently return a mix of book covers, cassette tape covers with headphones coming out of them, and photos of the book. A custom Google images string would be fine even.

Similarly, would be great to match genres from a library that classifies consistently. Taking genre from ID3 tags is near useless:

IMG_0743

@KaiStarkk commented on GitHub (Nov 8, 2023): Plug-in idea sounds great. I’d love to be able to match from a source that gives you the first published year of a book, rather than a random edition. All of my classics show up as being published in the 20th century. Same goes for covers, which currently return a mix of book covers, cassette tape covers with headphones coming out of them, and photos of the book. A custom Google images string would be fine even. Similarly, would be great to match genres from a library that classifies consistently. Taking genre from ID3 tags is near useless: ![IMG_0743](https://github.com/advplyr/audiobookshelf/assets/1722064/d32b2ac3-ed4b-4880-90d3-34deb67f23a5)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#338