The purpose of this story is to provide an option for searching the holdings record by HRID when the partial or the whole value are provided:
1. searches against holdings' hrid field (the field is string type)
2. HRID search supports following searches:
- "hold*" search will return all instances that have holdings with HRID starting with or equal to "hold"
- "hold" search will match instances that have a holding that matches exactly the phrase
- "hold000000001239" will return only the instance that have a holding with matching HRID
- "*1239" returns all instances that have holdings with HRID ending with 1239
- "*1239*" returns all instances that have holdings with HRID containing 1239
- "hol*1239" will return instances that have holdings with HRID starting with "hol" and ending with "1239"
- Accurate record count provided
- If multiple results fulfill the search then the results are ranked based on term frequency, inverse document frequency and field length
- Supports search by whole or partial value
Out of scope:
- Autocomplete functionality
- Performance testing (suggested response under 5s for 10M records)
- UI implementation