¿Cómo hacer una búsqueda simple en cadena en la base de datos Firebase?
Quiero crear una búsqueda simple en mi aplicación, pero no puedo encontrar nada en interwebs sobre ella, que es más reciente que 2014. Debe haber una manera mejor. Hay funciones startAt y endAt, pero no funcionan como se esperaba y distinguen entre mayúsculas y minúsculas. ¿Cómo resuelven ustedes este problema? ¿Cómo puede esta funcionalidad todavía no existe en 2016?
- La clase java.util.Map tiene parámetros genéricos de tipo, utilice GenericTypeIndicator en su lugar
- Excluir el dispositivo de prueba del registro de Firebase Analytics
- Firebase en Android: ¿Cómo comprobar el ancho de banda del cliente utilizado?
- FirebaseUI y Firebase, ¿cuál es la diferencia?
- Recuperación de datos de la base de datos en tiempo real de Firebase en Android
- Error: No se pudo resolver: com.google.firebase: firebase-core: 11.0.0
- Cómo guardar información de ubicación en Firebase
- Android - Notificaciones Azure Push de Google FCM
- Cómo usar el valor automático con firebase 9.2 en Android
- ¿Cómo enviar confirmación de correo electrónico de Firebase en la suscripción?
- Eventos personalizados en la consola de análisis de Firebase
- Seguimiento de la facturación en la aplicación con Firebase
- Android con el cambio de hora de la fecha, pero poner a tiempo de nuevo, Firebase acaba de devolver símbolo expirado
En mi caso pude lograr en parte un SQL LIKE de la siguiente manera:
databaseReference.orderByChild('_searchLastName') .startAt(queryText) .endAt(queryText+"\uf8ff") .once("value")
El carácter \uf8ff
utilizado en la consulta es un punto de código muy alto en el rango Unicode (es un código de área de uso privado [PUA]). Porque es después de la mayoría de los caracteres normales en Unicode, la consulta coincide con todos los valores que comienzan con queryText
.
De esta manera, buscar por "Fre" podría obtener los registros que tienen "Fred, Freddy, Frey" como valor en la propiedad _searchLastName
de la base de datos.
Firebase no tiene un gran SQL como búsquedas construido pulg Usted puede clasificar por valores / clave o puede igualar a
https://firebase.google.com/docs/database/android/retrieve-data
Puede encontrar ejemplos en el enlace anterior. Esa es la documentación más reciente para firebase.
Si está buscando SQL como búsquedas. A continuación, eche un vistazo a la búsqueda elástica. Pero eso aumentará la complejidad ya que se necesita una plataforma para ponerla. Para eso podría recomendar Heroku o tal vez GoogleCloudServers
Aquí hay una entrada en el blog sobre búsquedas avanzadas con búsqueda elástica https://firebase.googleblog.com/2014/01/queries-part-2-advanced-searches-with.html
No sé acerca de la certeza de este enfoque, pero con la versión firebase 10.2.6 en android, puedo hacer algo como esto:
firebaseDatabase.getReference("parent") .orderByChild("childNode") .startAt("[a-zA-Z0-9]*") .endAt(searchString)
Parece que funciona bien a veces
- Phonegap devuelve orientación actual durante la captura de imagen
- Android obtiene la dirección IP de un dispositivo que proporciona hotspot