android - 如何在 Firestore 数据库中搜索?
问题描述
我正在使用这种方式在 firestore 数据库中搜索用户,我认为这是一种低效的方式,因为它给出了不相关的结果,例如,如果我输入“k”,它给我的结果根本不包含“k”,就像图像一样以下 。
var query = firestore
.collection("users")
.where('name', isGreaterThanOrEqualTo: customer)
.get()
.asStream();
请问有什么建议吗?!
解决方案
当您使用以下调用时:
.where('name', isGreaterThanOrEqualTo: customer)
这意味着您正在数据库中搜索“name”属性的值大于您输入的值的文档。在这种特殊情况下,“Omar”和“Second Omar”都出现在结果集中,因为它们中的每一个都以在“k”之后按字母顺序排列的字母开头。事实上,所有大写字母都按字母顺序出现在小写字母之后。请记住,搜索是按字典顺序执行的。
如果您正在寻找全文搜索,请注意 Firestore 不提供全文搜索。正如@Dharmaraj 在他的评论中提到的,您应该使用第三方解决方案。您还可以从以下帖子中的我的回答中找到更多信息:
推荐阅读
- extjs - 使用数组过滤 ExtJS 存储
- c# - 实现接口的多种功能,返回相互继承
- curl - curl / wget页面和来自具有特定IP地址的url的资产
- php - 如何上传带类的图像
- grails - 如何合并独立测试运行的覆盖率报告
- sql - How to get the nested child IDs from table using sql query
- python - Python SAML 身份验证
- telegram - 如何为电报建立自定义客户端?
- sap-fiori - 如何在 fiori 启动板中集成两个云应用程序
- angular - Angular Service Worker 不缓存发布请求