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
query | mod-inventory (postgres), s | mod-search (elsasticsearch), s | ||
---|---|---|---|---|
keyword all "April" sortby title&limit=100&offset=0 | 4 | 37408 | 1 | 41268 |
*keyword all "April" sortby title&limit=100&offset=1001 | 5 | 37408 | 1 | 41268 |
keyword all "agency" and source=FOLIO sortby title&limit=100&offset=0 | 3.5 | 1000 | 0.8 | 3536 |
keyword all "bill" sortby title&limit=100&offset=0 | 5 | 50149 | 0.6 | 60992 |
keyword all "set" sortby title&limit=100&offset=0 | 7 | 307 | 0.8 | 156751 |
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 server System Jira serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key PERF-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
Additional links
- TC Meeting on October 14, 2020
- UXPROD-2791 SRS MARC Query API
- Search – Technical documentation
- POC Evaluation survey
- Detailed responses to raised issues
- POC Overview for MM SIG (slides) and (recording)
- 110 -111 Sprints Demo