https://example.com/foods.json?orderBy="title"&startAt="Yogurt"&endAt="Yogurt\uf8ff"
Con el enlace anterior, puedo buscar los datos en Firebase Realtime Database Rest Api usando los parámetros de consulta startAt, endAt.
¿Cómo puedo encontrar los resultados cuando busco con caracteres especiales similares?
Por ejemplo, yogur y yogur, kızartma y kizartma
Quiero obtener el mismo resultado cuando se escribe en ambos sentidos.
Si esto no es posible con Firebase, ¿es posible con métodos String en lenguaje de programación Javascript o Dart?
No hay nada integrado en Firebase para realizar este tipo de búsqueda, por lo que tendrá que hacer su propio trabajo para permitirlo.
La forma más sencilla es almacenar un valor secundario para cada cadena que desea buscar, donde mapea cada carácter de nuevo a un único valor representativo en el que desea buscar.
Una asignación muy común es, por ejemplo, asignar todo el texto a un solo caso (mayúsculas o minúsculas) para que las búsquedas no distingan entre mayúsculas y minúsculas. Puede hacer lo mismo con los caracteres acentuados, asignando la ğ a la g . Así que combinando estos dos trucos, Yoğurt se convierte en yogurt .
Lo mismo para la ı que muestra (y İ ), mapeando las cuatro variantes de I en el alfabeto turco a i .
Hacer esto para todos los caracteres especiales le brinda un valor de cadena único (además de la entrada del usuario, que también debe almacenar) que puede usar para búsquedas.
Para obtener más información sobre esto, también recomiendo leer la respuesta de Dan aquí .