WZQInstantSearch - 实时搜索算法

WZQInstantSearch 是一个 Swift 模块,旨在实时搜索用户输入的关键词在本地文档中的内容。

用法

WZQInstantSearch 实例会在幕后构建一个改进的 Trie 树,并构建索引以供后续搜索。

let texts = ["An apple a day keeps the doctor away", "whose your daday", "I feel on top of world"]
let wzq = WZQInstantSearch(texts)

现在,您可以对任何进一步的搜索需求使用 wzq 实例。

假设您只想搜索与 Apple 相关的内容,您只需开始输入 An App 等。您可以使用 wzq 实例进行如下搜索

let found = wzq.search("An App")

如果不出所料,found 将会是一个数组,其中包含 An apple a day keeps the doctor away 这句话。

工作原理

简而言之,我们结合了 Trie 树和 索引数组 来开发此算法。

第一部分:使用给定的文本构建 Trie 树

第二部分:通过全文搜索和前缀搜索进行搜索