From 45fc2f2e0edef966e311401e16bbf0ea76183eba Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Sat, 10 Aug 2019 20:19:59 -0400 Subject: [PATCH] Optimize SmartSearch system --- app/src/main/java/exh/smartsearch/SmartSearchEngine.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt index 07633fe5a..111367912 100644 --- a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt +++ b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt @@ -19,6 +19,8 @@ class SmartSearchEngine(parentContext: CoroutineContext, private val db: DatabaseHelper by injectLazy() + private val normalizedLevenshtein = NormalizedLevenshtein() + suspend fun smartSearch(source: CatalogueSource, title: String): SManga? { val cleanedTitle = cleanSmartSearchTitle(title) @@ -35,7 +37,7 @@ class SmartSearchEngine(parentContext: CoroutineContext, searchResults.mangas.map { val cleanedMangaTitle = cleanSmartSearchTitle(it.title) - val normalizedDistance = NormalizedLevenshtein().similarity(cleanedTitle, cleanedMangaTitle) + val normalizedDistance = normalizedLevenshtein.similarity(cleanedTitle, cleanedMangaTitle) SmartSearchPresenter.SearchEntry(it, normalizedDistance) }.filter { (_, normalizedDistance) -> normalizedDistance >= MIN_SMART_ELIGIBLE_THRESHOLD @@ -55,7 +57,7 @@ class SmartSearchEngine(parentContext: CoroutineContext, val searchResults = source.fetchSearchManga(1, searchQuery, FilterList()).toSingle().await(Schedulers.io()) searchResults.mangas.map { - val normalizedDistance = NormalizedLevenshtein().similarity(title, it.title) + val normalizedDistance = normalizedLevenshtein.similarity(title, it.title) SmartSearchPresenter.SearchEntry(it, normalizedDistance) }.filter { (_, normalizedDistance) -> normalizedDistance >= MIN_NORMAL_ELIGIBLE_THRESHOLD