For what you want to do I would use Cloud Firestore Database and NOT a realtime, as Firestore was built for that type of stuff. Plus its easier to read. Also I would like to point out that Cloud Firestore is a Realtime Datebase just more SQL like.
This is a sample for Cloud Firestore, but the code is very simple to write. I'm sure the Realtime database can do something similar but you will spend alot more time writing code to get it to work the way you want. Trust me.
// Create a reference to the cities collection
CollectionReference housesRef = db.collection("houses");
// Create a query against the collection.
housesRef.whereEqualTo("availability", "yes").whereEqualTo("pets", "yes");
https://firebase.google.com/docs/firestore/query-data/queries
Also, as far as I know, you can not do that much server side querying with a realtime database so if you were to have a filter feature, most likely that would be done on the client side of things, which is slow and takes time. The app would have to read the data using a loop, checking each element to see if it met the requirements, that works if you have 10 or 20 houses but after a certain point that will cause lag.
Realtime Database is Firebase's original database. It's an efficient,
low-latency solution for mobile apps that require synced states across
clients in realtime.
Cloud Firestore is Firebase's new flagship
database for mobile app development. It improves on the successes of
the Realtime Database with a new, more intuitive data model. Cloud
Firestore also features richer, faster queries and scales better than
the Realtime Database.