我想在Flutter应用中实现搜索功能。文本数据存储在Firestore中。
现在,我正在考虑一个不切实际的解决方案:下载整个集合(纯文本),然后以某种方式使用Dart代码进行搜索。
在Flutter / Firestore中有更好的搜索方法吗?我可以使用云功能来做到这一点吗?如果没有更好的方法,如何在Flutter中使用Dart搜索内容?
Cloud Firestore当前唯一可能的文本搜索类型是所谓的前缀搜索。这允许以某些值开头的发现字符串(如Dark*)或以某个范围开头的字符串(如)A* to B。
Dark*
A* to B
当前无法搜索 包含 某个字符串或更复杂操作的值。
无论您如何访问,这都适用于Firestore。因此,它适用于Web,iOS,Android,Flutter,REST和Cloud Functions依赖的Admin SDK。
将全文搜索添加到基于Cloud Firestore的应用程序的常用方法,因此它集成了第三方文本搜索引擎,例如Algolia或ElasticSearch。有关更多信息,请参阅Firebase文档。