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