Table of Contents |
---|
...
- Add Elasticsearch cluster to CI/CD and setup it on environments (k8s conf)
- Check configuration of existing Kafka cluster
In December 2020, source record storage (SRS) it was determined that Elasticsearch is not the right tool for querying MARC records. SRS search has been removed from the scope of Elasticsearch POC and it became a separate feature (UXPROD-2791)
...
- Sending add/update/delete notification messages from Inventory
- Built Search APIs for searching and faceting
- Combined instances + holding + items into a single index
- Implemented re-index process for existing inventory DB
- Spring base implementation that supports:
- Up to five language-specific analyzers configured on the tenant level
- Near real-time inserts, updates and deletions
- Boolean operators (AND, OR, NOT)
- Nested search using brackets
- All or Any keyword search
- Exact phrase search
- Left-, right-hand truncation, wildcards searches in some fields
Front-end:
Due to the rigid structure of the existing Inventorys app Inventory's Search Component, in order to be able to present existing Inventory functionality and be able to provide an UI for the work implemented in the back end it was not possible to make any changes that would allow for switching between PostgreSQL and Elasticsearch implementation. To provide users with an way to evaluate the back-end work, we built an alternative UI (Inventory ES app) that allowed non-technical users compare performance between the existing search and the search powered by Elasticsearch. Inventory ES app The new UI introduced:
- New UI components for advanced search that include:
- autoAuto-resized textbox,
- supported Supported fields and operators auto-suggestion
- Boolean Boolean operators support
- Nested search using brackets
- New UI components for filters and facets
- Default results sort by ranking
- Preserved other non-search related Inventory app functionality
...
Almost entire evaluation was done trough UI and 75% of those who participate, found the POC successful but all participants saw the . Alll participants, however, saw some room for improvements, in front- and back-end . The team addressed following issues that were reported:
...
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 |
...