Versions Compared

Key

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

Table of Contents

Scope

To address the poor performance of the inventory search, the Technical Council recommended to investigate a possible Elasticsearch implementation.   The scope of the work was determined to include following deliverables for the Iris release: 

...

In December 2020, source record storage (SRS) search has been removed from the scope of Elasticsearch POC and it became a separate feature (UXPROD-2791)

Delivered functionality

The work delivered by Falcon team as a part of the Iris release includes:

...

Effective location

Effective location (item)

Item Status

Language

Holdings permanent location

Effective location

Resource type

Suppress from discovery

Holdings permanent location

Format*

 Tags

Material type

Mode of issuance


Suppress from discovery

Nature of content


Tags

Staff suppress



Suppress from discovery



Date created (from, to)*



Date updated (from, to)*



Source



Tags



*Back-end only

POC evaluation results

The evaluation of the POC took place from April 5th to April 9th, 2021 and it was conducted in the the Bugfest environment (~8 millions records) by eight librarians representing:

...

  • Expected to perform complex queries of multiple fields and across record types (including MARC fields)
  • Expected a different UI more like a catalog or discovery system advanced search
  • Expected support for additional operators (not equal to, starts with, etc.)
  • UI not user friendly
  • Preferred a simple left-anchored search than the provided relevancy ranking

Search performance comparison

querymod-inventory (postgres), s
mod-search (elsasticsearch), s

keyword all "April" sortby title&limit=100&offset=0

437408141268

*keyword all "April" sortby title&limit=100&offset=1001

537408141268
keyword all "agency" and source=FOLIO sortby title&limit=100&offset=0
3.510000.83536
keyword all "bill" sortby title&limit=100&offset=05501490.660992
keyword all "set" sortby title&limit=100&offset=0 73070.8156751


For all Elasticsearch queries after calling a query the first time, the time for all subsequent queries is less than 250ms (due to elasticsearch OOB caching)
Average time

Examples are taken from

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-44

Proposed next steps

  • Redesign Inventory UI Search component so that it can include new UI components created by POC, especially filters and facets
  • Conduct usability study for advanced search textbox
  • Use mod-search endpoints for searching
  • Conduct analysis of ranking refinements (weights and boosts)
  • Conduct analysis of further search refinements
  • Define and prioritize work for cross app/cross record types searches
  • Define UI for cross app/cross record types searches
  • Define requirements for cross-tenant searches