Improve app result ranking

This commit is contained in:
MM20
2024-10-12 22:16:10 +02:00
parent 422928321e
commit bf6e963545
10 changed files with 143 additions and 20 deletions
@@ -103,6 +103,8 @@ interface SavableSearchableRepository : Backupable {
fun sortByWeight(keys: List<String>): Flow<List<String>>
fun getWeights(keys: List<String>): Flow<Map<String, Double>>
/**
* Remove this item from the Searchable database
*/
@@ -370,6 +372,11 @@ internal class SavableSearchableRepositoryImpl(
return database.searchableDao().sortByWeight(keys)
}
override fun getWeights(keys: List<String>): Flow<Map<String, Double>> {
if (keys.size > 999) return flowOf(emptyMap())
return database.searchableDao().getWeights(keys)
}
private suspend fun fromDatabaseEntity(entity: SavedSearchableEntity): SavedSearchable {
val deserializer: SearchableDeserializer? = try {
get(named(entity.type))