The current search implementation uses the LIKE operator to compare launches, launchpads, and rockets against the given query. This is okay, but a better implementation would use Room's FTS support for this.
Required tasks:
- Create FTS tables to index launches, rockets and launchpads
- Add a DB creation callback to rebuild FTS indices in
onCreate() method of the RoomDatabase.Callback class
- Refactor Search's
ViewModel to use these FTS tables for searching
Bonus tasks:
- Use a custom ranking function to order results by their relevance with the help of matchinfo
The current search implementation uses the
LIKEoperator to compare launches, launchpads, and rockets against the given query. This is okay, but a better implementation would use Room's FTS support for this.Required tasks:
onCreate()method of theRoomDatabase.CallbackclassViewModelto use these FTS tables for searchingBonus tasks: