我正在使用这种方式在 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 在他的评论中提到的,您应该使用第三方解决方案。您还可以在我的以下帖子的回答中找到更多信息: