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: 

...

  • 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 the same query 3 times, the time for all subsequent quires is less than 250ms (due to OOB caching)
Average time

First 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

...