Why did a specific MARC match OL49206154M?
Question
I'd like to understand exactly why a specific MARC record matched OL49206154M instead of OL21967389M.
OL21967389M would have been a proper match for the MARC record, as the title, author, publication date, and pages all match between the MARC record and edition OL21967389M, yet OL49206154M was matched instead.
Additional context
subtitles, either in the edition or the import record (or lack thereof), may be meaningful.
See also the diff between this revision of the edition, and the one with the MARC record data (revision 2).
Unfortunately the v1 record of OL49206154M can no longer be copied with copydocs.py (without modification), but one could create a substantively identical record based on the JSON and then try importing the MARC record (this documentation may not be especially complete vis-a-vis importing a pared down MARC record of just this one item).
Crucially, any investigation of imports will likely start with the importapi class, found here: https://github.com/internetarchive/openlibrary/blob/447142086b90648207a558a3b0ed495acb6f168d/openlibrary/plugins/importapi/code.py#L170
openlibrary/catalog/add_book/match.py also has some part in this story. Specifically level1_match and level2_match: https://github.com/internetarchive/openlibrary/blob/447142086b90648207a558a3b0ed495acb6f168d/openlibrary/catalog/add_book/match.py#L244-L280
But it's possible that find_match does as well: https://github.com/internetarchive/openlibrary/blob/447142086b90648207a558a3b0ed495acb6f168d/openlibrary/catalog/add_book/init.py#L838
Issue resolution criteria
This issue can be closed when we understand why the MARC record matched with the incorrect edition, and what would have made it match with the correct edition (e.g. adding or subtracting metadata from which fields, or increasing or decreasing which point values, would have made the match correct, if point values come into play).
Stakeholders
@seabelis