Yun*_*yev 3 java android firebase google-cloud-firestore
我在 Firestore 数据库中有一个包含他们名字的用户列表。我想要实现的是让用户能够搜索和找到其他用户。我的问题是:
Query query = db.collection("users").whereEqualTo("name", searchTerm);
FirestoreRecyclerOptions<UserObject> response = new FirestoreRecyclerOptions.Builder<UserObject>()
.setQuery(query, UserObject.class)
.build();
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,只有当我完全正确地写出他们的名字和姓氏时,我才能找到用户。但我想要的是获得名称或姓氏相似的用户。而且,用户的姓氏和名字存储在一个字符串变量中。就像在 facebook 中一样,如果你搜索一些名字,它也会显示相似的名字。有没有用 firestore 实现这一目标的好方法?
根据官方文档:
Cloud Firestore 不支持原生索引或搜索文档中的文本字段。此外,下载整个集合以在客户端搜索字段是不切实际的。
所以我强烈建议你不要为了创建搜索而下载整个集合,不值得。但是为了稍微好一点的搜索,我建议您使用以下查询:
Query query = db.collection("users").startAt(searchText).endAt(searchText+ "\uf8ff");
Run Code Online (Sandbox Code Playgroud)
如果此查询不是您要搜索的内容,我建议您使用Algolia搜索,Firebase 也推荐使用它。我也推荐你看这个视频。
| 归档时间: |
|
| 查看次数: |
6289 次 |
| 最近记录: |