Instance - support keyword search fields

Description

Purpose/Overview:
The purpose of this story is to allow the user a keyword search across multiple fields by simply providing the term in the search box or by specifying which field needs to be searched.

Requirements/Scope:
1. Case insensitive
2. Word match in following Inventory Instance fields:

  • series (array of strings)

  • identifiers (all) (array of objects)

  • electronicAccess (array of objects)

3. Supports search in other than English languages (including CKJ languages, Arabic, Hebrew)

Approach:

Acceptance criteria:

  • Supports full text search

  • Query returns accurate hit count

  • User can search by any word that is a part of the field's value

  • Results are ranked based on term frequency, inverse document frequency and field length

  • Stemming according with configured on the tenant language tokenizers

Outside the scope
*UI work

  • AND, OR, NESTING

  • title (string) - MSEARCH-16

  • alternativeTitles (array of objects) - MSEARCH-16

  • indexTitle (string) - MSEARCH-16

  • contributors (array of objects) - MSEARCH-17

  • publication.publisher (string) - MSEARCH-18

  • subject (array of strings) - MSEARCH-19

  • classifications (array of objects) - MSEARCH-20

  • notes (array of objects) public - MSEARCH-21

  • notes (array of objects) - staff only - MSEARCH-21

  • tags (array of objects) – MSEARCH-23

Additional Information:
Inventory Instance schema: https://github.com/folio-org/mod-inventory-storage/blob/master/ramls/instance.json
Honeysuckle bugfest environment: https://bugfest-honeysuckle.folio.ebsco.com/

Environment

None

Potential Workaround

None

CSP Request Details

None

CSP Rejection Details

None

CSP Approved

None

Attachments

2

Checklist

hide

TestRail: Results

Activity

Show:

Bohdan Suprun April 8, 2021 at 7:40 AM

Hi ,

As requested here are samples to search by identifiers:

  1. identifiers.value=="identifier-value" - search by any identifier value of any type;

  2. identifiers.value=="identifier-value" and identifiers.identifierTypeId=="identifier-id" - search by identifier value and identifier type.

Bohdan Suprun March 17, 2021 at 12:18 PM

Hi , These searches already exist.

I created PR to add tests for uncovered searches.

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Falcon

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created November 18, 2020 at 10:03 PM
Updated August 12, 2022 at 1:52 PM
Resolved March 17, 2021 at 10:17 PM
TestRail: Cases
TestRail: Runs