首页 > 解决方案 > 如何在 Firestore 数据库中搜索?

问题描述

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

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

在此处输入图像描述

请问有什么建议吗?!

标签: androidfirebaseflutterdartgoogle-cloud-firestore

解决方案


当您使用以下调用时:

.where('name', isGreaterThanOrEqualTo: customer)

这意味着您正在数据库中搜索“name”属性的值大于您输入的值的文档。在这种特殊情况下,“Omar”和“Second Omar”都出现在结果集中,因为它们中的每一个都以在“k”之后按字母顺序排列的字母开头。事实上,所有大写字母都按字母顺序出现在小写字母之后。请记住,搜索是按字典顺序执行的。

如果您正在寻找全文搜索,请注意 Firestore 不提供全文搜索。正如@Dharmaraj 在他的评论中提到的,您应该使用第三方解决方案。您还可以从以下帖子中的我的回答中找到更多信息:


推荐阅读