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 实例。
Search 函数,通过您输入的关键词搜索相关文本假设您只想搜索与 Apple 相关的内容,您只需开始输入 An App 等。您可以使用 wzq 实例进行如下搜索
let found = wzq.search("An App")
如果不出所料,found 将会是一个数组,其中包含 An apple a day keeps the doctor away 这句话。
简而言之,我们结合了 Trie 树和 索引数组 来开发此算法。
第一部分:使用给定的文本构建 Trie 树
第二部分:通过全文搜索和前缀搜索进行搜索