Warning: This page has not been updated in over over a year and may be outdated or deprecated.
videos:indexing_marc_records
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
videos:indexing_marc_records [2020/02/03 20:28] – [Transcript] demiankatz | videos:indexing_marc_records [2023/04/26 13:26] (current) – crhallberg | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Video 2: Indexing MARC Records ====== | ====== Video 2: Indexing MARC Records ====== | ||
- | The second | + | The second |
Video is available as an [[https:// | Video is available as an [[https:// | ||
Line 7: | Line 7: | ||
===== Related Resources ===== | ===== Related Resources ===== | ||
+ | - [[indexing: | ||
- [[indexing: | - [[indexing: | ||
- [[https:// | - [[https:// | ||
Line 13: | Line 14: | ||
===== Transcript ===== | ===== Transcript ===== | ||
- | :!: Needs editing and cleanup | + | Alright. |
- | + | So in this video, we are going to | |
- | | + | |
talk about loading mark records into | talk about loading mark records into | ||
- | view fines which is a good first step | + | VuFind, |
- | after you have installed it as was | + | after you have installed it, as was |
- | described in our previous video because | + | described in our previous video. Because |
they are the easiest to load we are | they are the easiest to load we are | ||
- | going to work exclusively with mark | + | going to work exclusively with marc |
records today and I'm going to assume | records today and I'm going to assume | ||
- | that you know what a mark record is but | + | that you know what a marc record is but |
- | just the one sentence description is | + | just the one-sentence description is |
it's a standard interchange format for | it's a standard interchange format for | ||
library records where the data is split | library records where the data is split | ||
up into numeric fields with alphabetic | up into numeric fields with alphabetic | ||
- | subfields | + | subfields. So marc records are included |
- | with view find as part of its test suite | + | with VuFind |
- | so if you just want to kick the tires | + | so if you just wanted |
it's really easy to get some records | it's really easy to get some records | ||
- | loaded in there you just switch into | + | loaded in there. You just switch into |
- | your view finder Ector e and at the | + | your VuFind directory |
- | moment I'm actually looking at the | + | the moment I'm actually looking at the |
virtual machine I set up in the previous | virtual machine I set up in the previous | ||
- | video and I'm in the view finder Ector e | + | video and I'm in the VuFind home directory. |
- | if I do an LS of tests data star dot MRC | + | If I do an " |
- | I can see all of the mark records that | + | I can see all of the marc records that |
- | are available | + | are available. |
- | need to start up our solar index which | + | |
- | is where if you find stores all of its | + | So first things first we |
- | records | + | need to start up our Solr index, which |
- | until the index is running | + | is where VuFind |
- | with solar Sh start and then it's going | + | records. We can't put things in the index |
- | to tell me that solar is starting up on | + | until the index is running. So I do that |
- | port 8080 a fact that it' | + | with " |
+ | to tell me that Solr is starting up on | ||
+ | port 8080 a fact that is useful to | ||
remember for later since we might want | remember for later since we might want | ||
- | to look at the solar index once it has | + | to look at the Solr index once it has |
- | records in it and now that solar is | + | records in it. And now that Solr is |
running there' | running there' | ||
- | called import - mark dot SH that if we | + | called |
- | feed it the name of a mark file which | + | feed it the name of a marc file (which |
- | can be either binary | + | can be either binary |
will load everything into the index for | will load everything into the index for | ||
- | us so I'm going to choose journals | + | us. So I'm going to choose journals.mrc |
- | MRC which contains some journal records | + | which contains some journal records |
and it takes just a couple seconds to | and it takes just a couple seconds to | ||
- | load all of the data into the index once | + | load all of the data into the index, once |
- | it gets going and there we go so I'm | + | it gets going. And there we go! So I'm |
going to go to my web browser | going to go to my web browser | ||
- | now and just do a blank search in view | + | now and just do a blank search in |
- | find which is a good way to get a list | + | VuFind |
of all the records that have been | of all the records that have been | ||
indexed and I will see that I now have | indexed and I will see that I now have | ||
ten journal records appearing in the | ten journal records appearing in the | ||
- | search results | + | search results. |
- | might be useful to take a step back and | + | |
- | talk a little bit about what solar is | + | So what just happened? |
- | Solar is an open source search engine | + | It might be useful to take a step back and |
+ | talk a little bit about what Solr is. | ||
+ | Solr is an open-source search engine | ||
which essentially takes a set of keys | which essentially takes a set of keys | ||
and values and applies some rules to | and values and applies some rules to | ||
those to make them very easy to search | those to make them very easy to search | ||
- | and perform faceted filtering on and so | + | and perform faceted filtering on. |
- | what we did with our script was map some | + | So what we did with our script was map some |
- | mark records into solar so I mentioned | + | marc records into Solr. |
- | when I started up solar that it's useful | + | |
+ | I mentioned | ||
+ | when I started up Solr that it's useful | ||
to make note of the port number that | to make note of the port number that | ||
it's running on and that is because | it's running on and that is because | ||
- | solar has a web interface that you can | + | Solr has a web interface that you can |
- | actually look at if you just go to the | + | actually look at. If you just go to the |
name of the server where it's running | name of the server where it's running | ||
access the port it's running on and then | access the port it's running on and then | ||
- | go to slash solar you will you will find | + | go to "/ |
- | a handy administrative interface | + | a handy administrative interface. Solr |
arranges its records into a set of cores | arranges its records into a set of cores | ||
so that you can store different types of | so that you can store different types of | ||
records in different index schemas and | records in different index schemas and | ||
- | in the case of you find the main records | + | in the case of VuFind |
- | are stored in a core named Biblio so if | + | are stored in a core named " |
- | we go to Biblio | + | So if we go to biblio |
querying tool we can run their default | querying tool we can run their default | ||
- | star colon star everything search and we | + | " |
will see that here indeed are the ten | will see that here indeed are the ten | ||
records that were put into the index and | records that were put into the index and | ||
we can see some of the field names and | we can see some of the field names and | ||
values that got placed there so all of | values that got placed there so all of | ||
- | this data was mapped out of those mark | + | this data was mapped out of those marc |
- | records that we loaded | + | records that we loaded. |
+ | |||
+ | So how did the | ||
indexing tool know what to do with the | indexing tool know what to do with the | ||
- | contents of the mark records | + | contents of the marc records? |
- | is there is a configuration file called | + | The answer is there is a configuration file |
- | mark dot properties in view finds index | + | called |
- | sorry in view | + | |
import directory which contains all of | import directory which contains all of | ||
- | the rules for mapping | + | the rules for mapping |
- | solar fields | + | Solr fields. So if we edit this file we |
can browse through and see some of the | can browse through and see some of the | ||
- | mappings that are present | + | mappings that are present. This is using |
- | a separate open source tool called | + | a separate open-source tool called |
- | mark which is special built for mapping | + | which is special-built for mapping |
- | mark records into solar and so it | + | marc records into Solr and so it |
contains a domain-specific language for | contains a domain-specific language for | ||
- | specifying these mappings | + | specifying these mappings. The simplest |
thing that you can possibly do is set a | thing that you can possibly do is set a | ||
field to a fixed string so that every | field to a fixed string so that every | ||
record you import will just have those | record you import will just have those | ||
- | particular values and in view finds | + | particular values and in VuFind' |
default we set everything to a | default we set everything to a | ||
- | collection of catalog | + | collection of catalog, an institution of |
- | my institution | + | "My Institution", |
- | a these are obviously settings that you | + | These are obviously settings that you |
will want to override and I'll show you | will want to override and I'll show you | ||
- | how to do that in a little bit so mark | + | how to do that in a little bit. |
- | records contain two types of fields | + | |
- | first nine fields | + | So marc records contain two types of fields |
- | called control fields and they simply | + | the first nine fields |
+ | are called control fields and they simply | ||
have numeric field designations without | have numeric field designations without | ||
- | subfields you can see that by default | + | subfields you can see that by default |
- | you find takes the first value found in | + | takes the first value found in an 001 field |
- | an oo 1 field | + | |
and stores that as the unique identifier | and stores that as the unique identifier | ||
- | for the record IDs are really important | + | for the record. IDs are really important |
- | in the solar index because that's how | + | in the Solr index because that's how |
- | solar tells records apart every record | + | Solr tells records apart. Every record |
must have a unique ID and if you index | must have a unique ID and if you index | ||
- | two records with the same ID the second | + | two records with the same ID, the second |
record you index will replace the first | record you index will replace the first | ||
- | one so if your mark records don't have | + | one. So if your marc records don't have |
- | their ideas in the oo-one | + | their ideas in the 001 field this is |
another detail that you will need to | another detail that you will need to | ||
- | customize | + | customize. |
- | fields all of the other fields in a Marc | + | |
+ | So after those first 9 control | ||
+ | fields all of the other fields in the marc | ||
record are called data fields and they | record are called data fields and they | ||
have alphabetic subfields containing | have alphabetic subfields containing | ||
different bits of data and we store a | different bits of data and we store a | ||
lot of things from those data fields in | lot of things from those data fields in | ||
- | the solar index so for example the | + | the Solr index. So for example the |
- | second line here we get the library | + | second line here we get the Library |
- | congress | + | Congress |
- | field sub | + | the 010 field, subfield |
- | filled | + | and this first designation |
again just stores only the first value | again just stores only the first value | ||
- | in the solar index similarly | + | in the Solr index. |
- | take the oath right o three five a | + | |
- | control number but because we're not | + | Similarly |
+ | take the 035a control number | ||
+ | but because we're not | ||
specifying only taking the first one | specifying only taking the first one | ||
that could potentially store multiple | that could potentially store multiple | ||
- | values in the index moving | + | values in the index. |
- | bit to how we index languages | + | Moving |
- | little bit more complicated | + | bit to how we index languages. This is a |
- | part by part the solar mark field | + | little bit more complicated. Taking |
+ | part by part, the SolrMarc | ||
specifications can have a colon | specifications can have a colon | ||
separated list of different things to | separated list of different things to | ||
pull out and it will take all of those | pull out and it will take all of those | ||
values and store them in the index as | values and store them in the index as | ||
- | separate values | + | separate values. So here we are taking |
- | characters 35 through | + | characters 35-37 of the 008 control field |
- | control field which is usually a | + | (which is usually a language code) |
- | language code as well as oh for one a D | + | as well as 041a, d, h, and j |
- | H and J all as separate values and solar | + | all as separate values and SolrMarc |
- | mark supports what it calls translation | + | supports what it calls translation |
maps which can take one string and map | maps which can take one string and map | ||
- | it into another | + | it into another. There's a folder in the |
- | translation | + | translation |
called language map properties which | called language map properties which | ||
translates all of the three-letter | translates all of the three-letter | ||
- | language codes that are found in mark | + | language codes that are found in marc |
records into the full English names for | records into the full English names for | ||
- | those codes you'll also see in here that | + | those codes. |
+ | |||
+ | You'll also see in here that | ||
there are some custom methods and when | there are some custom methods and when | ||
- | solar mark sees the word custom that | + | SolrMarc |
means it's looking for a Java function | means it's looking for a Java function | ||
- | with the name that follows | + | with the name that follows. So there' |
actually a Java class that ships with | actually a Java class that ships with | ||
- | you find and contains a get formats | + | VuFind |
method which contains all the rules for | method which contains all the rules for | ||
- | specifying record formats | + | specifying record formats. Looking |
that is beyond the scope of this | that is beyond the scope of this | ||
introductory video but by including | introductory video but by including | ||
custom methods in Java it is possible to | custom methods in Java it is possible to | ||
write your own and to extend the ones | write your own and to extend the ones | ||
- | that ship with you find and that might | + | that ship with VuFind |
- | be a good topic for a future video | + | be a good topic for a future video. |
- | also you can apply translation maps to | + | Also, you can apply translation maps to |
the output of custom methods so there' | the output of custom methods so there' | ||
a format map properties which takes the | a format map properties which takes the | ||
very granular formats that come out of | very granular formats that come out of | ||
our Java code and translate them into a | our Java code and translate them into a | ||
- | smaller set of more human readable | + | smaller set of more human-readable |
values that will be displayed in the | values that will be displayed in the | ||
- | index one last example of some of the | + | index. One last example of some of the |
- | power and flexibility of solar mark is | + | power and flexibility of SolrMarc |
- | here at the very bottom | + | here at the very bottom. So the pattern |
maps I mentioned before or rather the | maps I mentioned before or rather the | ||
translation maps I mentioned before are | translation maps I mentioned before are | ||
separate files but you can also include | separate files but you can also include | ||
- | translation maps in line in the mark dot | + | translation maps inline |
- | properties file by giving them a name | + | marc.properties file by giving them a name |
- | and wrapping them in parentheses | + | and wrapping them in parentheses. |
- | translations don't have to be straight | + | The translations don't have to be straight |
- | string to string you can also define a | + | string-to-string you can also define a |
- | set of regular expression rules to apply | + | set of regular expression rules to apply. |
- | so these last five lines of the file are | + | So these last five lines of the file are |
the rules for extracting the numeric | the rules for extracting the numeric | ||
- | portion of OCLC numbers found in oh 3 5 | + | portion of OCLC numbers found in 035a. |
- | a so the rule says take all the values | + | So the rule says take all the values |
- | from O 3 5 a and apply this pattern map | + | from O35a and apply this pattern map |
- | and then this pattern 0 pattern 1 | + | and then this pattern_0, pattern_1, |
- | pattern 2 pattern 3 stuff is providing a | + | pattern_2, pattern_3 |
series of regular expressions that will | series of regular expressions that will | ||
be tested against all the strings that | be tested against all the strings that | ||
are extracted and if matches are found | are extracted and if matches are found | ||
- | mappings will be made so this for | + | mappings will be made. So this, for |
- | example takes the different case | + | example, takes the different case |
- | variations of OC olc in parentheses and | + | variations of O-C-O-L-C |
then extract just the numeric portion | then extract just the numeric portion | ||
- | using a regular expression | + | using a regular expression |
- | matching to dollar | + | matching to $1. Then this gets the |
- | Co CM versions the OC n versions and the | + | OCM versions, the OCN versions, and the |
- | O n versions and if you don't know what | + | ON versions and if you don't know what |
- | I'm talking about there are a variety of | + | I'm talking about: there are a variety of |
different ways that OCLC numbers are | different ways that OCLC numbers are | ||
prefixed depending on the age and source | prefixed depending on the age and source | ||
- | of the records and for view fines | + | of the records and for VuFind' |
purposes we only care about the numbers | purposes we only care about the numbers | ||
- | hence all of these mapping rules | + | hence all of these mapping rules. |
- | so now that I' | + | |
- | find works by default it would be useful | + | So! Now that I' |
- | to know how that you how you can change | + | works by default, it would be useful |
- | and customize these things | + | to know how you can change |
- | die of completely into that a quick | + | and customize these things. Before |
- | aside about the view find local | + | dive completely into that, a quick |
- | directory which is an important concept | + | aside about the VuFind |
+ | directory, which is an important concept | ||
for not just import but also | for not just import but also | ||
- | configuration more generally of you find | + | configuration more generally of VuFind. |
- | so when you setup you find the installer | + | So when you setup VuFind, |
gives you two environment variables | gives you two environment variables | ||
- | there' | + | there' |
- | instance is user local view find and | + | instance is "/usr/local/ |
- | there' | + | there' |
- | this instance is user local view find | + | this instance is "/usr/local/ |
- | local the reason for this local | + | The reason for this local |
directory is to give you a place to | directory is to give you a place to | ||
store all of your local files separately | store all of your local files separately | ||
from the files that are distributed as | from the files that are distributed as | ||
- | part of you find this offers a couple of | + | part of VuFind. This offers a couple of |
- | advantages | + | advantages. One is that you can have |
- | multiple configurations of you find at | + | multiple configurations of VuFind |
once and switch between them by just | once and switch between them by just | ||
- | changing the variable that tells you | + | changing the variable that tells VuFind |
- | find where to load its configurations | + | where to load its configurations |
- | the other is that when you upgrade | + | the other is that when you upgrade |
- | find you only need to keep track of a | + | you only need to keep track of a |
couple of directories of your local | couple of directories of your local | ||
files the rest you can delete and | files the rest you can delete and | ||
replace with a new version which makes | replace with a new version which makes | ||
the upgrade process a little bit more | the upgrade process a little bit more | ||
- | streamlined | + | streamlined. In general, the way VuFind |
- | you find uses the local directory is | + | uses the local directory is |
that when it's trying to load a | that when it's trying to load a | ||
configuration of any sort it will look | configuration of any sort it will look | ||
- | in the local directory first if it finds | + | in the local directory first. |
- | something there it will use it if it | + | If it finds something there it will use it. |
- | does not find it there it will go up to | + | If it does not find it there it will go up to |
- | view find home so this is why there are | + | VUFIND_HOME. So this is why there are |
a lot of parallel structures so for | a lot of parallel structures so for | ||
example there' | example there' | ||
- | inside | + | inside |
lots of default configurations but | lots of default configurations but | ||
there' | there' | ||
which contains a smaller number of files | which contains a smaller number of files | ||
- | which are all local overrides | + | which are all local overrides. As you |
- | can see here when you first install | + | can see here when you first install |
- | find you actually get a couple of files | + | VuFind |
- | in there for free import properties and | + | in there for free: "import.properties" |
- | import off dot properties | + | " |
- | the files which tell Solr mark where to | + | the files which tell SolrMarc |
find its configurations and | find its configurations and | ||
other dependencies and so they are | other dependencies and so they are | ||
- | auto-generated for you by the Installer | + | auto-generated for you by the installer |
- | to point at the directories that you | + | to point at the directories that VuFind |
- | find is being installed into import dot | + | is being installed into. |
- | properties is the primary configuration | + | " |
file for loading into the biblio core | file for loading into the biblio core | ||
- | and import auth is for loading authority | + | and " |
records which again may be a topic for a | records which again may be a topic for a | ||
- | future video let's just take a quick | + | future video. |
- | look at import | + | |
- | see what's in there it's not a whole lot | + | Let's just take a quick |
- | we just specify which core name we' | + | look at "import.properties" |
- | loading things into we're specifying the | + | see what's in there. It's not a whole lot. |
+ | We just specify which core name we' | ||
+ | loading things into. We're specifying the | ||
names of the properties files that we're | names of the properties files that we're | ||
- | using for mappings | + | using for mappings. So as you can see |
- | here is the mark dot properties file I | + | here is the "marc.properties" |
showed you and also a second file called | showed you and also a second file called | ||
- | mark local dot properties which is a way | + | "marc-local.properties" |
that you can create a file that | that you can create a file that | ||
- | overrides parts of mark dot properties | + | overrides parts of "marc.properties" |
without overwriting all of it and we | without overwriting all of it and we | ||
will be working with that in a little | will be working with that in a little | ||
- | bit also we have the URL where solar is | + | bit. Also we have the URL where Solr is |
- | running so that solar mark can push the | + | running so that SolrMarc |
- | records into its update | + | records into its update |
- | solar mark dot path which is the | + | " |
- | location of the solar mark files and as | + | location of the SolrMarc |
you can see we specify first the local | you can see we specify first the local | ||
import directory and then the main | import directory and then the main | ||
import directory which is how we load | import directory which is how we load | ||
- | local files ahead of default files then | + | local files ahead of default files. Then |
there are also a few defaults about | there are also a few defaults about | ||
error handling and character encodings | error handling and character encodings | ||
that you should be able to leave alone | that you should be able to leave alone | ||
but which are here for you to tweak if | but which are here for you to tweak if | ||
- | you ever need to so with all of that out | + | you ever need to. |
- | of the way let's start customizing some | + | |
- | things | + | So with all of that out of the way, |
- | do is create a mark local dot properties | + | let's start customizing some things. |
+ | The first thing that we should | ||
+ | do is create a "marc-local.properties" | ||
file in our local import directory so we | file in our local import directory so we | ||
have a local place to begin putting our | have a local place to begin putting our | ||
- | customizations | + | customizations. |
- | so the easiest way to do that is to copy | + | So the easiest way to do that is to copy |
- | the standard | + | the standard |
- | which contains a whole lot of commented | + | which contains a whole lot of |
- | out examples that might be useful | + | commented-out examples that might be useful |
- | local import and then edit it there so | + | into local import and then edit it there. |
- | as I mentioned by default | + | As I mentioned by default |
- | indexes everything to my institution | + | indexes everything to "My Institution" |
- | library a and so some of the suggestions | + | " |
- | here in mark local are about changing | + | here in marc-local are about changing |
- | that so I'm going to call the | + | that. So I'm going to call the |
- | institution | + | institution |
- | going to call the building | + | going to call the building |
- | Damian's house because I have started a | + | because I have started a university |
- | University | + | in which I record videos |
- | about view func so now having made that | + | So now having made that |
- | change I need to re index all of my | + | change, I need to re-index all of my |
records in order for the change to take | records in order for the change to take | ||
- | effect | + | effect. Whenever |
rules you need to reload your records | rules you need to reload your records | ||
- | because the mappings occur at index time | + | because the mappings occur at index time. |
- | so once again import | + | So once again: |
- | journals | + | "./import-marc.sh |
+ | We wait a few seconds | ||
while the records all load and now if I | while the records all load and now if I | ||
- | go back to my web browser and my view | + | go back to my web browser and my VuFind |
- | find search results you'll see that when | + | search results you'll see that when |
- | I loaded things before | + | I loaded things before |
- | library a were showing up in these | + | and " |
- | facets but if i refresh the page my | + | facets but if I refresh the page my |
- | changes have taken effect | + | changes have taken effect. It's now |
- | Damien's University and Damian' | + | Demian's University and Demian' |
- | please | + | Please |
- | back to the terminal let's look at | + | Now going back to the terminal let's look at |
- | another thing we might want to change | + | another thing we might want to change. |
- | as I mentioned this is a file full of | + | As I mentioned this is a file full of |
- | journals so if I look at the format | + | journals, so if I look at the format |
facet I'll see there are 10 journals | facet I'll see there are 10 journals | ||
here but suppose that I don't like | here but suppose that I don't like | ||
calling them journals | calling them journals | ||
I want to degrade them by calling them | I want to degrade them by calling them | ||
- | magazines | + | magazines. That is something I can |
- | change by editing the format translation | + | change by editing the |
- | Maps that I mentioned earlier | + | format translation |
- | so once again we can create a copy of | + | So once again we can create a copy of |
the map in our local directory and this | the map in our local directory and this | ||
- | will override the default map so first | + | will override the default map. First |
let me create a directory to hold my | let me create a directory to hold my | ||
- | custom | + | custom |
not going to have such a directory by | not going to have such a directory by | ||
- | default | + | default. We have to create |
- | import translation Maps and then I can | + | "local/ |
- | copy import | + | and then I can copy |
- | properties | + | "import/ |
- | format map dot properties | + | into local " |
- | import translation Maps I've now created | + | I've now created a local copy |
- | a local copy that I can customize so I | + | that I can customize, so I |
- | will edit that and as you can see here | + | will edit that. |
+ | As you can see here | ||
is where we map the more technical terms | is where we map the more technical terms | ||
- | that come out of the custom | + | that come out of the custom |
- | method into more human readable versions | + | method into more human-readable versions |
but down here we just map journal | but down here we just map journal | ||
straight back into journal again but I | straight back into journal again but I | ||
- | can change this journal equals magazine | + | can change this. |
+ | " | ||
and now if I just go back and import my | and now if I just go back and import my | ||
records one more time now when I go back | records one more time now when I go back | ||
to my results and refresh the page | to my results and refresh the page | ||
- | Journal has just turned into magazine so | + | "Journal" |
- | as you can see it's pretty easy to | + | As you can see it's pretty easy to |
customize some of these strings but | customize some of these strings but | ||
- | let's look at some more complicated | + | let's look at some more complicated things. |
- | things | + | As I mentioned languages are |
currently pulled from a whole bunch of | currently pulled from a whole bunch of | ||
fields and run through a translation map | fields and run through a translation map | ||
but let's suppose that I don't want to | but let's suppose that I don't want to | ||
display those English language names for | display those English language names for | ||
- | some reason | + | some reason. Perhaps |
up some settings in my code to change | up some settings in my code to change | ||
- | them into something on the fly what I | + | them into something on the fly. What I |
- | can do is look at the rule in the core | + | can do is look at the rule |
- | import | + | in the core import-marc.properties |
- | copy | + | and I am going to copy this rule |
- | this rule then I'm going to edit my | + | then I'm going to edit my |
- | local import | + | "local/import/marc-local.properties" |
- | can override it that' | + | so I can override it. |
- | the bottom and I'm going to paste the | + | Just going to go to the bottom |
- | rule in I'm actually going to paste it | + | and I'm going to paste the rule in. |
- | in twice so I can keep the old version | + | I'm actually going to paste it in twice |
+ | so I can keep the old version | ||
commented out for reference and then I'm | commented out for reference and then I'm | ||
- | just going to get rid of the language | + | just going to get rid of the language map. |
- | map so this will just take the codes and | + | Now this will just take the codes and |
index them directly without doing any | index them directly without doing any | ||
- | translation work on them | + | translation work on them. |
- | so now I'm going to import the records | + | So now I'm going to import the records |
one more time so again before I refresh | one more time so again before I refresh | ||
- | the page to show the results let's see | + | the page to show the results, let's see |
what this looked like before so here we | what this looked like before so here we | ||
- | have English French German Italian | + | have "English", "French", "German", "Italian". |
- | now I'm going to refresh the page and | + | Now I'm going to refresh the page |
- | sure enough now we are only getting | + | and sure enough now we are only getting |
- | raw codes so one more interesting | + | the raw codes. |
- | feature of solar mark is that you can | + | |
- | actually combine together multiple rules | + | One more interesting |
- | so I realize my example is getting a | + | feature of SolrMarc |
+ | actually combine together multiple rules. | ||
+ | I realize my example is getting a | ||
little bit contrived but let's suppose | little bit contrived but let's suppose | ||
that I actually wanted to see both the | that I actually wanted to see both the | ||
- | mapped versions and the raw versions | + | mapped versions and the raw versions. |
- | what I can do is just put both versions | + | What I can do is just put both versions |
of the rule in place but on the second | of the rule in place but on the second | ||
- | one change the equals | + | one change the " |
and what this will do is it will take | and what this will do is it will take | ||
all the mapped versions put them in the | all the mapped versions put them in the | ||
language field and then also take all | language field and then also take all | ||
the raw versions and add those to the | the raw versions and add those to the | ||
- | language field this kind of combination | + | language field. |
+ | This kind of combination | ||
can be really useful when you have | can be really useful when you have | ||
information in multiple fields of the | information in multiple fields of the | ||
- | Marc record formatted in different ways | + | marc record formatted in different ways |
and you want to normalize it in some | and you want to normalize it in some | ||
- | fashion | + | fashion. You can create a separate rule |
for each field and then combine all the | for each field and then combine all the | ||
- | fields together with plus equals | + | fields together with " |
- | this example we'll just do it this way | + | this example we'll just do it this way. |
- | and now I will reindex one more time | + | Now I will reindex one more time |
- | and now if i refresh this page one more | + | and now if I refresh this page one more |
- | time and scroll down to language you'll | + | time and scroll down to language, you'll |
see that we now have both the | see that we now have both the | ||
- | three-letter codes and the mapped names | + | three-letter codes and the mapped names. |
- | so that covers the very basic ways that | + | |
- | you can import | + | So that covers the very basic ways that |
- | customize the way that they' | + | you can import |
- | course there' | + | customize the way that they' |
+ | Of course, there' | ||
possible here because of looking at the | possible here because of looking at the | ||
custom Java code or the whole end-to-end | custom Java code or the whole end-to-end | ||
- | experience of adding a new field to view | + | experience of adding a new field to |
- | find not only indexing it but also | + | VuFind |
- | making it display in the interface | + | making it display in the interface. |
- | say these are good topics for the future | + | As I said these are good topics for the future |
but for right now I'm just trying to | but for right now I'm just trying to | ||
introduce all of the basics if you want | introduce all of the basics if you want | ||
- | to learn more about solar mark and | + | to learn more about SolrMarc |
indexing be sure to take a look at the | indexing be sure to take a look at the | ||
- | solar mark page in view finds wiki and | + | SolrMarc |
- | the solar mark github | + | the SolrMarc GitHub |
which have some more documentation on | which have some more documentation on | ||
how to solve common problems using the | how to solve common problems using the | ||
Line 479: | Line 506: | ||
is actually quite rich and has quite a | is actually quite rich and has quite a | ||
few features that can be strung together | few features that can be strung together | ||
- | to do complicated transformations | + | to do complicated transformations. |
- | there's also a solar mark tech mailing | + | There's also a SolrMarc |
list which is a great place to ask for | list which is a great place to ask for | ||
- | help in addition to the usual view find | + | help, in addition to the usual VuFind |
- | support venues | + | support venues. |
+ | |||
+ | I hope this has been | ||
useful and I will share another video | useful and I will share another video | ||
- | next month | + | next month! |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
videos/indexing_marc_records.1580761723.txt.gz · Last modified: 2020/02/03 20:28 by demiankatz