The purpose of this story is to provide an option for searching the instance record by Id only when the partial or the whole values are provided.
1. searches against Instance's id field (the field is string type, contains UUID value)
2. Id search supports following searches:
- "6506b79b*" search will return all instances that have id starting with "6506b79b"
- "6506b79b" search will not match any instance unless there is a record that matches exactly the phrase
- "6506b79b-7702-48b2-9774-a1c538fdd34e" returns only the instance with matching id
- "*7702-48b2-9774-a1c538fdd34e" search is supported (which will impact the performance)
- "*7702*" is not supported
- "6506b79b-*-48b2-9774-a1c538fdd34e" is supported (which will impact the performance)
- 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 entire value if no asterisks follows the query string. If asterisks is present partial matching should occur.
- The backend will not restrict the position of the asterisks within the search string even if this will have a impact on the search peformance
Out of scope:
- Autocomplete functionality - covered by
- Performance testing (suggested response under 5s for 10M records)
- UI implementation