如何在Firestore数据库中搜索?

问题描述 投票:0回答:2

我正在使用这种方式在 firestore 数据库中搜索用户,我认为这是低效的方式,因为它给出了不相关的结果,例如,如果我输入“k”,它给出的结果根本不包含“k”,就像下图.

 var query = firestore
    .collection("users")
    .where('name', isGreaterThanOrEqualTo: customer)
    .get()
    .asStream();

请问有什么建议吗?!

android firebase flutter dart google-cloud-firestore
2个回答
4
投票

当您使用以下电话时:

.where('name', isGreaterThanOrEqualTo: customer)

这意味着您正在数据库中搜索“name”属性所包含的值大于您所键入的值的文档。在这种特殊情况下,“Omar”和“Second Omar”都出现在结果集中,因为它们每个都以按字母顺序排列在“k”之后的字母开头。事实上,所有大写字母都按字母顺序排列在小写字母之后。请记住,搜索是按字典顺序执行的。 如果您正在寻找全文搜索,请注意 Firestore 不提供全文搜索。正如@Dharmaraj 在他的评论中提到的,您应该使用第三方解决方案。您还可以在我的以下帖子的回答中找到更多信息:

  • 在 Cloud Firestore 集合中按模式搜索

  • 是否可以在 FirestoreRecyclerOptions 中使用 Algolia 查询?


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.