忽略 Firestore 查询中的土耳其字符

Ignore Turkish Characters On Firestore Query

我有一个使用 Firestore 作为数据库的 .net 应用程序,它使用 Firestore Query 来查找一些数据。问题是包含土耳其字符的数据字段,但如果有人使用我的应用程序并想要搜索数据,但如果不使用土耳其字符,查询将找不到此数据。

例如,如果我想在我的应用程序上搜索我的名字并且我的名字保存为“Ertuğrul”,如果用户搜索“Ertugrul”,则查询无法找到它。 我需要它才能找到它。有办法吗?

我使用查询的代码在这里:

QRef = DataBase.Collection("CollName").Document("DocName").Collection("CollName")
                    .WhereGreaterThanOrEqualTo("NameSurname", $"{NameSurname}")
                    .WhereLessThanOrEqualTo("NameSurname", $"{NameSurname}\uF7FF");

Firestore 总是查询 return 特定字段完美匹配的文档。如果您希望能够搜索“Ertuğrul”和“Ertugrul”,那么除了“NameSurname”字段之外,您还应该考虑添加一个名为“NameSurnameWithoutSpecialCharacters”的新字段,并存储每个不带土耳其语字符的名称。

当用户搜索时,只需验证搜索的字词是否包含“特殊”字符。如果是,则搜索“NameSurname”,否则搜索新创建的字段。