Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In mod-search PostgreSQL DB

    • create a table for call numbers

      • The following fields should be present in the table:

        • item_id - item identifier

        • effective_callnumber_components - set of components for a callnumber

          • callnumber

          • prefix

          • suffix

          • callnumber_type_id

        • volume

        • enumeration

        • chronology

        • copynumber

        • instance_arr - jsonb field for storing the relation with instances

          • instance_id

          • shared

          • tenant_id

    • on create/update/delete events for items create a new procedure that would extract call numbers from items

  • Adjust the Reindexing procedure and Ongoing domain events consuming for items

  • Create a separate index for call numbers

  • Refactor browse queries to use search_after search_before queries

...

As per the current approach for reindexing the indexing of call numbers is split into two main phases: merge and upload. The merge phase is already present in the reindexing procedure.

Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId0367460397
pageId367919119
custContentIdlbox3674603971
diagramDisplayNameSpitfire-CallNumber-Refactoring-indexing.drawiolbox1
contentVer3
revision3
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameSpitfire-CallNumber-Refactoring-indexing.drawio
pCenter0
width1229
links
tbstyle
height1611

...

  • The flag whether to extract and store call numbers should be stored in the database

  • The temporary table should be created inside of the procedure based on the main table create temp table tmp_callnumber (like callnumber including indexes);

  • Insert from the temporary table into the main table should be ordered to avoid deadlocks on main table indices

Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId0519733283
pageId367919119
custContentIdlbox5197332831
diagramDisplayNameSpitfire-Callnumber-Refactoring-Activity.drawiolbox1
contentVer1
revision1
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameSpitfire-Callnumber-Refactoring-Activity.drawio
pCenter0
width443
links
tbstyle
height717

...