MVF ingest uses default values inappropriately
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Undecided
|
Unassigned | ||
2.6 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Evergreen version 2.6.0
OpenSRF version 2.3.0
PostgreSQL version 9.1.13
MVF ingest appears to be using the default values from config.
Our example is that everyone of our fiction books with the fiction indicator in the 008/33 has two lit_form entries of 0 and 1 (nonfiction and fiction). The default value for lit_form is 0 in config.
The upshot of this is that when limiting searches to fiction or nonfiction these books show up.
Thomas Berezansky has an idea for fixing this that involves moving the default values from config.
no longer affects: | evergreen/2.7 |
Changed in evergreen: | |
milestone: | none → 2.7.0-beta1 |
Changed in evergreen: | |
status: | New → Fix Committed |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
I will admit to not having looked at how things are being done in the actual code at this point, but I think that dropping the default_val column from the marc21_ff_pos_map table and making a new table for the defaults would help prevent a conflict between rows in marc21_ff_pos_map. We would then only pull those defaults when no rows in marc21_ff_pos_map returned anything for a given fixed field.
Alternatively, instead of defining these defaults there perhaps defaults on the actual index definitions that use the fixed field information would be better? Then you could possibly have different defaults by index that uses them (for example, you may want a composite that only triggers when a specific value is actually set, but for searching directly you want to provide a default value).