Summary: | Add incorrect ISSN to Elasticsearch index mappings | ||
---|---|---|---|
Product: | Koha | Reporter: | Aleisha Amohia <aleisha> |
Component: | Searching - Elasticsearch | Assignee: | Alex Buckley <alexbuckley> |
Status: | Needs documenting --- | QA Contact: | |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | alexbuckley, david, januszop, lucas, m.de.rooy |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | Sponsored | Patch complexity: | Trivial patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: |
This enhancement makes changes to International Standard Serial Number (ISSN) related index mapping when using Elasticsearch or Open Search.
A new issn-all search field enables finding all records with any ISSN related to that content. For example, you are able to find the online and paper version of a serial with one search.
The issn search field remains a precise search - you get the exact record with the ISSN in 022$a (MARC21) or 011$a (UNIMARC).
MARC21:
- Adds these subfields to the new issn-all search field:
. 022$a (International Standard Serial Number)
. 022$y (Incorrect ISSN)
. 022$z (Canceled ISSN)
. 023$a (Cluster ISSN)
. 023$y (Incorrect Cluster ISSN)
. 023$z (Canceled Cluster ISSN)
- Adds 022$y, 022$z, 023$a, 023$y, and 023$z to the identifier-standard search field
UNIMARC:
- Adds these subfields to the new issn-all search field:
. 011$a (Number (ISSN)
. 011$y (Cancelled ISSN)
. 011$z (Erroneous ISSN or ISSN-L)
- Removes 011$y and 011$z from the issn search field
These changes will only take effect for existing installations if the index mappings are reset (caution: existing customizations are lost) and records are re-indexed.
|
Version(s) released in: |
24.11.00
|
Circulation function: | |||
Bug Depends on: | |||
Bug Blocks: | 36798, 36854 | ||
Attachments: |
Bug 36727: Add new issn-all Elasticsearch index for MARC21
Bug 36727: Add new issn-all Elasticsearch index for MARC21 Bug 36727: Add new issn-all Elasticsearch index for MARC21 Bug 36727: Add new issn-all Elasticsearch index for MARC21 Bug 36727: Add new issn-all Elasticsearch index for MARC21 Bug 36727: Add new issn-all Elasticsearch index for MARC21 |
Description
Aleisha Amohia
2024-04-30 05:22:15 UTC
I believe we had discussed a solution/bug for this at hackfest - adding Janusz. (In reply to Katrin Fischer from comment #1) > I believe we had discussed a solution/bug for this at hackfest - adding > Janusz. In fact, we have discussed ISBNs (020) -- cf. bug 36574, but ISSNs (022) could be resolved in an analogous way. By the way, there is a new 023 field also involved (https://www.loc.gov/marc/bibliographic/bd023.html). Created attachment 166653 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 This index searches 022ay, 023ay (MARC21) and 011ayz (UNIMARC). 011y and 011z have been removed from issn search field for UNIMARC. Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Apply this patch and restart all services (restart_all) 3. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 4. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 5. Alternative to steps 3 and 4: reset_all 6. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y / 023y for MARC21), or if using UNIMARC then 011z 7. Make a biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS Just a doubt: don't we want to have 022 $z and 023 $z indexed with issn-all search field as well? And don't we want to add 022/023 $y and $z subfields to identifier-standard search field? Created attachment 166654 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 - This index searches 022ayz, 023ayz (MARC21) and 011ayz (UNIMARC). - 011y and 011z have been removed from issn search field for UNIMARC. - 022yz and 023yz have also been added to the identifier-standard search field Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Apply this patch and restart all services (restart_all) 3. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 4. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 5. Alternative to steps 3 and 4: reset_all 6. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y / 023y for MARC21), or if using UNIMARC then 011z 7. Make a biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS (In reply to Janusz Kaczmarek from comment #4) > Just a doubt: don't we want to have 022 $z and 023 $z indexed with issn-all > search field as well? And don't we want to add 022/023 $y and $z subfields > to identifier-standard search field? Hi Janusz, Thanks for your reply. You're right and I have implemented those changes now. This is now ready to test. Thanks, Alex There are problems in mappings.yaml: should be marc_field instead of marcfield (three spots). And I would also add an initial point to the Test plan to demonstrate the issue. (In reply to Janusz Kaczmarek from comment #7) > There are problems in mappings.yaml: should be marc_field instead of > marcfield (three spots). Will do thanks Janusz. Making those changes now. Created attachment 166655 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 - This index searches 022ayz, 023ayz (MARC21) and 011ayz (UNIMARC). - 011y and 011z have been removed from issn search field for UNIMARC. - 022yz and 023yz have also been added to the identifier-standard search field Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y /023y for MARC21, or 011z for UNIMARC) 3. Do a biblio search for '0046-2254' and confirm no results are returned 4. Apply this patch and restart all services (restart_all) 5. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 6. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 7. Alternative to steps 5 and 6: reset_all 8. Repeat the biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS I've made those changes Janusz and have added two new steps in the test plan (steps 2 and 3) demonstrating the issue before the patch is applied. Could you please take another look now? Thanks! Created attachment 166656 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 - This index searches 022ayz, 023ayz (MARC21) and 011ayz (UNIMARC). - 011y and 011z have been removed from issn search field for UNIMARC. - 022yz and 023yz have also been added to the identifier-standard search field Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y /023y for MARC21, or 011z for UNIMARC) 3. Do a biblio search for '0046-2254' and confirm no results are returned 4. Apply this patch and restart all services (restart_all) 5. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 6. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 7. Alternative to steps 5 and 6: reset_all 8. Repeat the biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS Signed-off-by: Janusz Kaczmarek <januszop@gmail.com> Thanks for your testing Janusz. As you signed off the patch I'll change the status of this bug report to 'Signed off'. (In reply to Alex Buckley from comment #13) > As you signed off the patch I'll change the status of this bug report to > 'Signed off'. Sure! My fault... Thanks! issn: label: issn mandatory: ~ mappings: - facet: '' marc_field: 022a marc_type: marc21 sort: 1 suggestible: '' - facet: '' marc_field: 011a marc_type: unimarc sort: 1 suggestible: '' opac: 1 staff_client: 1 type: stdno issn-all: label: issn-all mandatory: ~ mappings: - facet: '' marc_field: 022ayz marc_type: marc21 sort: 1 suggestible: '' - facet: '' marc_field: 023ayz marc_type: marc21 sort: 1 suggestible: '' - facet: '' marc_field: 011ayz marc_type: unimarc sort: 1 suggestible: '' opac: 1 staff_client: 1 type: stdno Seems that we create an inconsistency here? 023 is not in issn but it is in issn-all? (In reply to Marcel de Rooy from comment #15) > Seems that we create an inconsistency here? 023 is not in issn but it is in > issn-all? If I may comment on this: I wouldn't say that. The 023 field is a new field introduced only recently instead of the removed 022 $l subfield (a linking ISSN). https://www.loc.gov/marc/bibliographic/bd023.html https://www.loc.gov/marc/bibliographic/bd022.html (infra) So, the logic is: with issn-all search field we want to be able to find a record/all records with any ISSN related to that content, e.g. we want to be able to find the online and paper version of a serial with one search. Whereas issn search field should remain for the precise search: I want to get exactly that record with exactly this ISSN in 022 $a. With this logic I do not see a possibility nor need to put any 023 subfield in issn search field. (In reply to Janusz Kaczmarek from comment #16) > (In reply to Marcel de Rooy from comment #15) > > Seems that we create an inconsistency here? 023 is not in issn but it is in > > issn-all? > > If I may comment on this: I wouldn't say that. The 023 field is a new field > introduced only recently instead of the removed 022 $l subfield (a linking > ISSN). > > https://www.loc.gov/marc/bibliographic/bd023.html > https://www.loc.gov/marc/bibliographic/bd022.html (infra) > > So, the logic is: with issn-all search field we want to be able to find a > record/all records with any ISSN related to that content, e.g. we want to be > able to find the online and paper version of a serial with one search. > > Whereas issn search field should remain for the precise search: I want to > get exactly that record with exactly this ISSN in 022 $a. > > With this logic I do not see a possibility nor need to put any 023 subfield > in issn search field. This makes sense to us! Created attachment 167257 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 - This index searches 022ayz, 023ayz (MARC21) and 011ayz (UNIMARC). - 011y and 011z have been removed from issn search field for UNIMARC. - 022yz and 023yz have also been added to the identifier-standard search field Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y /023y for MARC21, or 011z for UNIMARC) 3. Do a biblio search for '0046-2254' and confirm no results are returned 4. Apply this patch and restart all services (restart_all) 5. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 6. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 7. Alternative to steps 5 and 6: reset_all 8. Repeat the biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS Signed-off-by: Janusz Kaczmarek <januszop@gmail.com> Signed-off-by: David Nind <david@davidnind.com> I have added my sign off and changed the status. I wasn't sure from the comments whether more work is required or not. Please change the status back to whatever is appropriate if more work is required. Created attachment 168046 [details] [review] Bug 36727: Add new issn-all Elasticsearch index for MARC21 - This index searches 022ayz, 023ayz (MARC21) and 011ayz (UNIMARC). - 011y and 011z have been removed from issn search field for UNIMARC. - 022yz and 023yz have also been added to the identifier-standard search field Test plan: 1. Start up KTD with Elasticsearch: ktd --es8 up 2. Add a new biblio record putting the value '0046-2254' into the incorrect ISSN subfield (022y /023y for MARC21, or 011z for UNIMARC) 3. Do a biblio search for '0046-2254' and confirm no results are returned 4. Apply this patch and restart all services (restart_all) 5. Reset the mappings: Administration > Catalog > Search engine configuration (Elasticsearch) > Reset mappings (at the bottom of the page) 6. Reindex: koha-elasticsearch --rebuild -d -b -a kohadev 7. Alternative to steps 5 and 6: reset_all 8. Repeat the biblio search for '0046-2254' and confirm you get a result Sponsored-by: Education Services Australia SCIS Signed-off-by: Janusz Kaczmarek <januszop@gmail.com> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> I am not sure if this is a bug fix or an enh. I tend to mark this as an enh, as it will mostly apply to new installations or libraries resetting their index configuration. Pushed for 24.11! Well done everyone, thank you! Enhancement will not be included in 24.05.x I've attempted to write a release note - I got a bit mixed up with indexes and search fields (I'm not sure index or search field - the UI says search field in the column heading). Please correct what I may have got wrong. I've changed the status to "Needs documenting", as the manual includes the list of indexes in https://koha-community.org/manual/latest/en/html/searching.html#elasticsearch-indexes |