diff --git a/Frameworks/ArticlesDatabase/ArticlesTable.swift b/Frameworks/ArticlesDatabase/ArticlesTable.swift index bbdddfdac..864e55711 100644 --- a/Frameworks/ArticlesDatabase/ArticlesTable.swift +++ b/Frameworks/ArticlesDatabase/ArticlesTable.swift @@ -440,6 +440,7 @@ final class ArticlesTable: DatabaseTable { if articleIDs.isEmpty { return } + self.searchTable.ensureIndexedArticles(articleIDs, database) DispatchQueue.main.async { self.indexUnindexedArticles() diff --git a/Frameworks/ArticlesDatabase/SearchTable.swift b/Frameworks/ArticlesDatabase/SearchTable.swift index da0d35d2d..ad3412c03 100644 --- a/Frameworks/ArticlesDatabase/SearchTable.swift +++ b/Frameworks/ArticlesDatabase/SearchTable.swift @@ -77,12 +77,8 @@ final class SearchTable: DatabaseTable { self.ensureIndexedArticles(articleIDs, database) } } -} - -// MARK: - Private - -private extension SearchTable { + /// Add to, or update, the search index for articles with specified IDs. func ensureIndexedArticles(_ articleIDs: Set, _ database: FMDatabase) { guard let articlesTable = articlesTable else { return @@ -97,6 +93,11 @@ private extension SearchTable { let indexedArticles = articleSearchInfos.filter { $0.searchRowID != nil } updateIndexForArticles(indexedArticles, database) } +} + +// MARK: - Private + +private extension SearchTable { func performInitialIndexForArticles(_ articles: Set, _ database: FMDatabase) { articles.forEach { performInitialIndex($0, database) }