Jonathan,
Using the as-yet-to-be-documented record editing capabilities of
SolrMarc I think you can you what you want.
create a file named editor338.properties in the same directory and
SolrMarc.jar that contains:
338=true
338_0=and(subfieldmatches("a", "online
resource"),not(subfieldmatches("b","cr")))=>both(deletefield(),insertfield("338
$aonline resource$bcr"))
and run SolrMarc as a filter:
cat my_records.mrc |
java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter"
-Dmarc.reader.remap=editor338.properties -jar SolrMarc.jar translate >
my_edited_records.mrc
or you can even just add:
marc.reader.remap=editor338.properties
to your config.properties file, and the editing will be done as the
records are read in for indexing.
-Bob
On 6/24/2014 12:39 PM, Jonathan Rochkind wrote:
Hi code4libbers,
I don't have much experience with MarcEdit, I'm hoping someone else
does, especially with creating automated MarcEdit "tasks", and can
advise:
Would it be possible to create a MarcEdit task that:
=> IF there is 338 field with subfield $a "online resource", THEN
erase all existing subfield $b's in that field, and add a single
subfield $b "cr".
We have records loaded from certain sources that have inconsistent
338$a and $b, where the $a is the reliable one. I'm curious if I can
send records from these sources through a MarcEdit Task to correct
this known pattern of error.
Anyone know if this is possible in a MarcEdit task? And if you could
supply some hints to a complete newbie to MarcEdit on how to do it,
that would be quite kind of you!
Jonathan