SimpleSimilarity
1.0.0
SimpleSimility是一个易于使用语义文本搜索的框架。
我建议不再在iOS 18中使用此库。它的功能现在可以作为Core Spotlight的系统服务可用。请查看Apple的WWDC 2024会话视频“用Core Spotlight支持语义搜索”。
首先,您必须创建一个文本语料库。当填充语料库时,您可以对其进行查询。这些方法是MatchingEngine类的一部分。
文本语料库由(大量)文本数量结构组成。 TextualData结构是文本和一些元数据。您可以创建TextualData实例并将其传递到匹配引擎:
let textualData = allFeedItems.map { (feedItem) -> TextualData in
return TextualData(inputString: feedItem.title, origin: nil, originObject: feedItem)
}
matchingEngine.fillMatchingEngine(with: textualData, onlyRemoveFrequentStopwords: true, completion: completion)
正如创建文本语料库发生在背景线程上之前所指出的那样,因此您需要在完成Coppus创建时通过完成块以不属于。
创建语料库后,您可以查询它。 SimpleSimility不一定针对短篇小说中的简短查询或简短条目进行了优化。查询至少应包含2个单词。文本语料库中的条目应为句子。
对于文本搜索,您有多个选项:
try? matchingEngine.result(betterThan: 0.005, for: query, resultsFound: resultsFound)
Results Found再次是一个完整的块,可以通过发现的结果。
因此,您可以看到API非常简单易用。
在iPhone 6s上创建带有15000个条目的文本语料库大约需要20秒。
您的贡献是最欢迎的。